nuxt logo

Tradução da Documentação (Não Oficial)

useLazyFetch

Este wrapper em torno de useFetch aciona a navegação imediatamente.

Descrição

Por padrão, useFetch bloqueia a navegação até que seu manipulador assíncrono seja resolvido. useLazyFetch fornece um wrapper em torno de useFetch que aciona a navegação antes que o manipulador seja resolvido, definindo a opção lazy como true.

useLazyFetch tem a mesma assinatura que useFetch.

Aguardar useLazyFetch neste modo apenas garante que a chamada seja inicializada. Na navegação do lado do cliente, os dados podem não estar imediatamente disponíveis, e você deve garantir que o estado pendente seja tratado em seu aplicativo.

Veja também api > composables > use-fetch

Exemplo

pages/index.vue
<script setup lang="ts">
/* A navegação ocorrerá antes que a busca seja concluída.
 * Lide com os estados 'pending' e 'error' diretamente no template do seu componente
 */
const { status, data: posts } = await useLazyFetch('/api/posts')
watch(posts, (newPosts) => {
  // Como posts pode começar como nulo, você não terá acesso
  // ao seu conteúdo imediatamente, mas pode observá-lo.
})
</script>

<template>
  <div v-if="status === 'pending'">
    Carregando ...
  </div>
  <div v-else>
    <div v-for="post in posts">
      <!-- faça algo -->
    </div>
  </div>
</template>

useLazyFetch é um nome de função reservado transformado pelo compilador, então você não deve nomear sua própria função como useLazyFetch.

Veja também getting-started > data-fetching