Récupération asynchrone dans Svelte 5
Nov 19, 2024 am 10:27 AMLorsque vous souhaitez récupérer quelque chose dans Svelte, la méthode recommandée est de le mettre dans la fonction de chargement.
J'ai écrit un article sur la récupération asynchrone et pourquoi cela pourrait être important de travailler en dehors de la fonction de chargement.
De manière générale, lorsque SSR n'est pas impliqué, vous avez un meilleur contrôle des conditions de concurrence, de la gestion des erreurs et de la mise en œuvre en dehors de la fonction de chargement. Bien que je sois d'accord dans la PLUPART des situations, vous devriez utiliser les fonctions de chargement (avec SvelteKit), ce n'est pas vrai pour TOUTES les situations.
Voici une fonction de ressource simple pour gérer cela :
// resource.svelte.ts export let resource = <T>( fn: () => Promise<T>, initialValue?: T ) => { const _rune = $state<{ value: T | undefined }>({ value: initialValue }); $effect(() => { fn().then((data) => { _rune.value = data; }); }); return _rune; };
Et vous l'utiliseriez ainsi dans votre composant :
import { resource } from '$lib/resource.svelte'; ... const todo = resource<Todo>(() => fetch(`https://jsonplaceholder.typicode.com/todos/${id}`) .then((response) => response.json()) );
Et affichez la valeur avec :
{todo.value}
Concepts similaires dans d'autres cadres
- Réagir à la requête
- Montre Vue
- SolidJS créerResource
- Qwik useResource$
- Ressource angulaire 19
- ngxtension dérivéAsync
Vous pouvez désormais facilement créer un signal à partir d'une ressource asynchrone ! J'espère que quelque chose comme ça pourra être implémenté dans Svelte comme $resource un jour.
Démo : Vercel
Repo : GitHub
J
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Remplacer les caractères de chaîne en javascript

jQuery Vérifiez si la date est valide

jQuery obtient un rembourrage / marge d'élément

10 vaut la peine de vérifier les plugins jQuery

Http débogage avec le nœud et le http-console

jQuery Ajouter une barre de défilement à div

Tutoriel de configuration de l'API de recherche Google personnalisé
