ReadableStreams are rendered chunk by chunk as they arrive. This text comes from a ReadableStream which emits one word every 60 ms. Text chunks are escaped like any other string, so <b>this markup</b> shows up as plain text. A fetch response body works the same way: response.body.pipeThrough(new TextDecoderStream()).
ReadableStream as children
Besides promises, JSX children can be a ReadableStream. Items are rendered in order as they arrive. The markup rendered so far is sent to the browser while waiting for the next item. Reload to watch it again.
A ReadableStream of strings or JSX can be used as children directly, e.g. a streamed answer from an AI service or the decoded body of a fetch response.
All done after 2964 ms.