Data APIs

createAsync

编辑此页面

一个异步原语,其函数跟踪机制类似于 createMemocreateAsync 期望返回一个 Promise,然后将其转换为一个 Signal。 在准备就绪之前读取它会触发 Suspense/Transitions。

这是对 createResource 的轻量级封装,作为将在 Solid 2.0 核心中引入的未来原语的替代品。 建议使用 createAsync 而不是 createResource,特别是在 SolidStart 应用中,因为 createAsync 能更好地与 cache 辅助函数配合使用。

component.tsx
import { createAsync } from "solid/router";
import { Suspense } from "solid-js";
import { getUser } from "./api";
export function Component () => {
const user = createAsync(() => getUser(params.id));
return (
<Suspense fallback="loading user...">
<p>{user()}</p>
</Suspense>
);

选项

名称类型默认值描述
namestringundefined资源的名称。用于调试目的。
deferStreambooleanfalse如果为 true,Solid 将等待资源解析完成后再刷新流。
initialValueanyundefined资源的初始值。
onHydratedfunctionundefined资源水合完成时调用的回调函数。
ssrLoadFrom"server" | "initial""server"SSR 的初始值来源。如果设置为 "initial",资源将使用 initialValue 选项而不是获取器返回的值。
storagefunctioncreateSignal返回信号的函数。可用于为资源创建自定义存储。这仍处于实验阶段。
报告此页面问题