task
Makes a Task running work on demand with an abort signal, under a replace or drop policy.
Utilização
Save without submitting twice
import { Button, Text, VStack, task } from 'kuito';
export function SaveButton(props: { save: () => Promise<void> }) {
const save = task(() => props.save(), { policy: 'drop' });
return (
<VStack gap={8}>
<Button disabled={save.running.value} onPress={() => void save.run().catch(() => {})}>
{save.running.value ? 'Saving…' : 'Save changes'}
</Button>
<Text>{save.error.value ? 'Save failed. Try again.' : ''}</Text>
</VStack>
);
}Assinaturas
<A extends unknown[], T>(work: TaskWork<A, T>, options?: TaskOptions, name?: string): Task<A, T>Parâmetros de tipo
| Nome | Restrição | Predefinição |
|---|---|---|
A | unknown[] | — |
T | — | — |
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
work | TaskWork<A, T> | Sim | — |
options | TaskOptions | Não | — Predefinição: {} |
name | string | Não | — |
Devolve
Task<A, T>
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.