Saltar al contenido
Meeko
Escribe para buscar en las guías y en la referencia de la API. Ábrela desde cualquier página con / o Ctrl K; muévete con las flechas y entra con Intro.
Empezar

Contenidos

En esta página

DataResource

interfaz Desde 1.1.0

Datos reactivos que devuelven useApi y useRpcQuery. Sin await, data vale null hasta la primera carga, que empieza en el navegador al montar el componente. Con await en el nivel superior del script se obtiene un LoadedResource.

ts
import type { DataResource } from "@meekojs/meeko/framework";

Código fuente src/app/composables/resources/engine.ts:39

Declaración #

ts
interface DataResource<T> extends PromiseLike<LoadedResource<T>> {
	readonly data: ReadonlySignal<T | null>
	readonly error: ReadonlySignal<Error | null>
	readonly pending: ReadonlySignal<boolean>
	readonly refreshing: ReadonlySignal<boolean>
	refresh(): Promise<void>
}

Parámetros de tipo #

T

Salida del endpoint o del procedimiento.

Ejemplo #

meeko
<script lang="ts">
const users = useApi("/api/users");
</script>
<template>
  <p if:when="users.pending.value">Cargando…</p>
  <p if:when="users.error.value">No se pudieron cargar los usuarios.</p>
  <ul><li each:of="users.data.value ?? []" each:as="user" each:key="user.id">{user.name}</li></ul>
</template>

Miembros #

data #

propiedad sólo lectura

readonly data: ReadonlySignal<T | null>

Datos de la última carga correcta, o null antes de la primera. Una recarga (refresh() o un cambio de la entrada) los conserva hasta que llegan los nuevos; desde 1.5, con keepPrevious: false, un cambio de la entrada los vacía.

error #

propiedad sólo lectura

readonly error: ReadonlySignal<Error | null>

Fallo de la última carga, o null.

pending #

propiedad sólo lectura

readonly pending: ReadonlySignal<boolean>

true mientras hay una carga en curso.

refreshing #

propiedad sólo lectura

readonly refreshing: ReadonlySignal<boolean>

true mientras hay una recarga en curso y data conserva los datos de una carga anterior: la primera carga es pending sin refreshing. Sirve para un indicador discreto que no oculta los datos (desde 1.5).

refresh #

método

refresh(): Promise<void>

Vuelve a pedir los datos con la entrada actual; un fallo sólo actualiza error.

Véase también #

¿Te sirvió esta página?

Añadir un comentario

Se envía al elegir «Sí» o «No». Solo se guardan la página, tu respuesta y el comentario: ni cookies ni datos tuyos.

0 de 2000 caracteres

Editar en GitHub: packages/meeko/src/app/composables/resources/engine.ts