PsyTask | API Docs
    Preparing search index...

    Variable LoaderConst

    Loader: <const T extends { readonly [k: string]: string } | readonly string[]>(
        props: {
            children?: (resources: Resource[]) => NodeLike | NodeLike[];
            urls: T;
        },
    ) => {
        data: () => | { blobs: null; error: Error }
        | { blobs: { readonly [K in string | number]: Blob }; error: null };
        node: string;
    } = ...

    Load multiple urls as blobs

    Type Declaration

      • <const T extends { readonly [k: string]: string } | readonly string[]>(
            props: {
                children?: (resources: Resource[]) => NodeLike | NodeLike[];
                urls: T;
            },
        ): {
            data: () => | { blobs: null; error: Error }
            | { blobs: { readonly [K in string | number]: Blob }; error: null };
            node: string;
        }
      • Type Parameters

        • const T extends { readonly [k: string]: string } | readonly string[]

        Parameters

        Returns {
            data: () => | { blobs: null; error: Error }
            | { blobs: { readonly [K in string | number]: Blob }; error: null };
            node: string;
        }

    Basic usage

    using loader = app.scene(generic(Loader), {
    defaultProps: { urls: { a: 'a.png', b: 'b.json' } },
    });
    const { blobs, error } = await loader.show();
    if (error) throw error;
    const imageUrl = URL.createObjectURL(blobs.a);
    const jsonData = JSON.parse(await blobs.b.text());

    Change resources

    using loader = app.scene(generic(Loader), {
    defaultProps: { urls: {} },
    });
    let result;
    for (let i = 0; i < 5; i++) {
    result = await loader.show({ urls: { pic: `resource-${i}.png` } });
    if (!result.error) break;
    }
    if (result.error) throw result.error;
    const imageUrl = URL.createObjectURL(result.blobs.pic);

    Custom children

    const { div } = van.tags;
    using loader = app.scene(generic(Loader), {
    defaultProps: {
    urls: {},
    children: (resources) =>
    div(() => JSON.stringfy(resources, null, 2)),
    },
    });