Comment créer une copie de useFetch dans un hook personnalisé ?
P粉928591383
P粉928591383 2023-08-28 15:24:54
0
1
411
<p>J'essaie de créer un hook qui peut être utilisé plusieurs fois, mais le comportement que j'obtiens n'est pas celui auquel je m'attends</p> <p>/composables/fetch.ts</p> <pre class="brush:js;toolbar:false;">export const useFetchWithErrorHandler = async (url : chaîne, options ? : FetchOptions) => const route = useRoute(); const { API_BASE_URL, API_PREFIX } = useRuntimeConfig(); console.log(url, options); renvoyer une nouvelle promesse (async (résolution, rejet) => { réponse const = attendre useFetch (API_PREFIX + url, { ...options, URL de base : API_BASE_URL, initialCache : faux, async onResponse({ requête, réponse, options }) { console.log('[récupérer la réponse]', réponse); }, async onResponseError({ requête, réponse, options }) { console.log('[récupérer l'erreur de réponse]'); }, }); résoudre (réponse); }); ≪/pré> <p>Déclenche uniquement la première requête</p> <pre class="brush:js;toolbar:false;">const { data: réponse } = wait useFetchWithErrorHandler(`page-1`, { choisir : ['données'], }); const { data : réponse } = wait useFetchWithErrorHandler(`page-2`, { choisir : ['données'], }); </pre></p>
P粉928591383
P粉928591383

répondre à tous(1)
P粉032900484

useFetch Utilisez la mise en cache pour éviter plusieurs requêtes identiques.

Vous pouvez désactiver la mise en cache si vous définissez initialCache: false dans des options telles que

useFetch(API_PREFIX + url, {
    ...options,
    initialCache: false,
  }
)
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal