renderToStream
编辑此页面import { renderToStream } from "solid-js/web";
function renderToStream<T>( fn: () => T, options?: { nonce?: string; renderId?: string; onCompleteShell?: () => void; onCompleteAll?: () => void; }): { pipe: (writable: { write: (v: string) => void }) => void; pipeTo: (writable: WritableStream) => void;};
此方法渲染到流中。 它同步渲染内容(包括任何 Suspense 后备占位符),然后继续在异步资源完成时流式传输数据和 HTML。
// noderenderToStream(App).pipe(res);
// web streamconst { readable, writable } = new TransformStream();renderToStream(App).pipeTo(writable);
onCompleteShell
在同步渲染完成后、将第一次刷新写入流到浏览器之前触发。
onCompleteAll
在所有服务器 Suspense 边界都已稳定后调用。
当有多个顶级根时,renderId
用于命名渲染空间。
Info:
此 API 替代了之前的 pipeToWritable 和 pipeToNodeWritable API。
选项
名称 | 类型 | 描述 |
---|---|---|
nonce | string | 用于内联脚本的 nonce 值 |
renderId | string | 用于此次渲染的 id |
onCompleteShell | () => void | shell 完成时触发的回调 |
onCompleteAll | () => void | 所有 Suspense 边界稳定后触发的回调 |