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

ApiMutation

interfaz Desde 1.2.0

Resultado de useApiMutation(ruta, método): llama a un endpoint de API que no es GET bajo demanda con mutate({ params, query, body }), nunca en SSR, y refleja la última llamada en pending, data y error. Con la opción retrySafe añade RetrySafeMutation.

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

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

Declaración #

ts
interface ApiMutation<O extends AnyApiOperation> {
	mutate(...input: ApiMutationArguments<O>): Promise<O['output']>
	readonly pending: ReadonlySignal<boolean>
	readonly error: ReadonlySignal<Error | null>
	readonly data: ReadonlySignal<O['output'] | null>
}

Parámetros de tipo #

O extends AnyApiOperation

Operación del contrato de API.

Ejemplo #

meeko
<script lang="ts">
const remove = useApiMutation("/api/notes/[id]", "DELETE");
async function erase(id: string): Promise<void> {
  await remove.mutate({ params: { id } });
}
</script>
<template><p if:when="remove.error.value">No se pudo borrar.</p></template>

Miembros #

mutate #

método

mutate(...input: ApiMutationArguments<O>): Promise<O['output']>

Llama al endpoint con el token CSRF; devuelve su salida o rechaza con su error. Se puede llamar sin argumentos cuando la operación no exige params, query ni body.

pending #

propiedad sólo lectura

readonly pending: ReadonlySignal<boolean>

true mientras una llamada está en curso.

error #

propiedad sólo lectura

readonly error: ReadonlySignal<Error | null>

Fallo de la última llamada, o null.

data #

propiedad sólo lectura

readonly data: ReadonlySignal<O['output'] | null>

Salida de la última llamada correcta, o null.

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