Awesome talk, I would have dropped to focus on requests and queries. Suspense just works with promises, it doesn’t can’t what those promises are doing. Also you kind of missed some nuance with the suspense parent rerendering before the promise is resolved. You need to make sure to throw the same promise if it’s not resolved yet. So you need a stable cache to hold the reference to the promise so you can keep track of it and keep throwing it till it’s resolved. Otherwise you just keep making new promises on every render Easier way to do that is to put to make the promise above the suspense in a memo then pass it into the children and then throw it, this is basically what the new use hook does