Rendering

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。

// node
renderToStream(App).pipe(res);
// web stream
const { readable, writable } = new TransformStream();
renderToStream(App).pipeTo(writable);

onCompleteShell 在同步渲染完成后、将第一次刷新写入流到浏览器之前触发。 onCompleteAll 在所有服务器 Suspense 边界都已稳定后调用。 当有多个顶级根时,renderId 用于命名渲染空间。


选项

名称类型描述
noncestring用于内联脚本的 nonce 值
renderIdstring用于此次渲染的 id
onCompleteShell() => voidshell 完成时触发的回调
onCompleteAll() => void所有 Suspense 边界稳定后触发的回调
报告此页面问题