Utilização

Reveal a profile after its resource settles

Este tipo é usado por resource

tsx
import { Catch, Loading, Spinner, Text, resource } from 'kuito';

function Profile() {
  const profile = resource(async ({ signal }) => {
    const response = await fetch('https://example.com/api/profile', { signal });
    if (!response.ok) throw new Error(`HTTP ${response.status}`);
    return (await response.json()) as { name: string };
  });
  return <Text>{profile.data.value?.name ?? ''}</Text>;
}

export function Account() {
  return (
    <Catch fallback={<Text>Profile unavailable</Text>}>
      <Loading fallback={<Spinner />}>
        <Profile />
      </Loading>
    </Catch>
  );
}

Declaração do tipo

ts
export interface Resource<T> extends Task<[], T> {
  refresh(): Promise<T>;
}

Membros 6

NomeTipoObrigatórioDescrição
refresh() => Promise<T>Sim—
runningsó de leituraReadonlySignal<boolean>Sim—
datasó de leituraReadonlySignal<T>Sim—
errorsó de leituraReadonlySignal<unknown>Sim—
run() => Promise<T>Sim—
cancel(reason?: unknown) => voidSim—
refresh — assinaturas de método

Assinaturas

ts
(): Promise<T>

Parâmetros

Sem parâmetros.

Devolve

Promise<T>

run — assinaturas de método

Assinaturas

ts
(): Promise<T>

Parâmetros

NomeTipoObrigatórioDescrição
...args[]Sim—

Devolve

Promise<T>

cancel — assinaturas de método

Assinaturas

ts
(reason?: unknown): void

Parâmetros

NomeTipoObrigatórioDescrição
reasonunknownNão—

Devolve

void

Gerado a partir das declarações TypeScript públicas: assinaturas, props e predefinições vêm da fonte verificada, as descrições da sua JSDoc. Nenhuma predefinição é inventada.