{#await data.myPromise}{:then results}{#each results as result}
  • {result}
  • {/each}{:catch error}

    {error?.message ?? \\\"Something went wrong\\\"}

    {/await}

    C'est essentiellement ainsi que le bloc #await fonctionne en svelte. Il affiche un contenu différent en fonction de l'état d'une promesse : un indicateur de chargement en attente, des résultats une fois résolus et un message d'erreur en cas de rejet.

    Mais disons que je souhaite qu'une certaine fonction s'exécute lorsque la promesse a été résolue ou rejetée (comme un toast).


    Exécuter (déclencher) une fonction lorsque le bloc #await est résolu ou rejeté

    Voici comment exécuter des fonctions spécifiques lorsque la promesse est résolue ou rejetée :

    {#await data.myPromise}{:then results}{showSuccess(results.length)}  {#each results as result}
  • {result}
  • {/each}{:catch error}{showError(error.message)}

    {error?.message ?? \\\"Something went wrong\\\"}

    {/await}

    Maintenant, notre fonction s'exécutera chaque fois que le bloc de code sera atteint.


    Encore une chose cependant...

    Correction d'un texte non défini ou renvoyé apparaissant dans le navigateur

    Lorsque ces fonctions sont exécutées, le texte renvoyé apparaîtra dans le navigateur, car il s'agit en quelque sorte d'une solution de contournement. La syntaxe que nous avons utilisée est généralement destinée à afficher les chaînes/nombres renvoyés dans le navigateur. Même en ne renvoyant rien, la valeur par défaut sera indéfinie. Et cette chaîne (qui n'a généralement aucun sens) sera affichée à l'utilisateur final. Quelque chose comme ça :
    \\\"Running

    Cela n'a aucun sens pour l'utilisateur final ?‍♂️?‍♀️

    Alors, assurez-vous de renvoyer des chaînes vides ou d'envelopper la fonction dans un bloc caché :

    1. Méthode 1 (Renvoyer les chaînes vides) :

    Dans cette méthode, nous veillerons à renvoyer les chaînes vides de nos fonctions.

    {#await data.myPromise}  {:then results}{showSuccess(results.length)} {#each results as result}
  • {result}
  • {/each}{:catch error}{showError(error.message)}

    {error?.message ?? \\\"Something went wrong\\\"}

    {/await}

    Cela garantira que les chaînes vides sont renvoyées.

    --- Ou ---

    2. Méthode 2 (Masquer le texte renvoyé par la fonction dans l'interface utilisateur avec CSS.)

    Dans cette méthode, nous masquerons plutôt le bloc fonctionnel dans l'interface utilisateur, afin que le texte renvoyé soit caché à la vue de l'utilisateur.

    {#await data.myPromise}  {:then results}
    {showSuccess(results.length)}
    {#each results as result}
  • {result}
  • {/each}{:catch error}
    {showError(error.message)}

    {error?.message ?? \\\"Something went wrong\\\"}

    {/await}

    Cette méthode basée sur CSS garantira que le texte renvoyé est caché à la vue.

    HeureuxHacking

    PS : Besoin d'employer un développeur SvelteKit ? Contactez-moi

    ","image":"http://www.luping.net/uploads/20241118/1731929413673b254564c1a.png","datePublished":"2024-11-18T20:21:13+08:00","dateModified":"2024-11-18T20:21:13+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
    "Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"

    Exécuter une fonction lorsqu'un bloc #await est résolu dans Svelte (Kit)

    Publié le 2024-11-18
    Parcourir:162

    Passer au contenu :

    • À propos du bloc #await dans svelte
    • Exécuter (déclencher) une fonction lorsque le bloc #await est résolu ou rejeté
    • Correction d'un texte non défini ou renvoyé apparaissant dans le navigateur
      • 1. Méthode 1 (Renvoyer les chaînes vides) :
      • 2. Méthode 2 (Masquer le texte renvoyé par la fonction dans l'interface utilisateur avec CSS.)
        • PS : Besoin d'employer un développeur SvelteKit ? Contactez-moi

    À propos du bloc #await dans svelte

    Le bloc #await dans svelte est très pratique pour gérer des données asynchrones :

    
    
    {#await data.myPromise}
    
    
    
    {:then results}
    
    {#each results as result}
    
  • {result}
  • {/each} {:catch error}

    {error?.message ?? "Something went wrong"}

    {/await}

    C'est essentiellement ainsi que le bloc #await fonctionne en svelte. Il affiche un contenu différent en fonction de l'état d'une promesse : un indicateur de chargement en attente, des résultats une fois résolus et un message d'erreur en cas de rejet.

    Mais disons que je souhaite qu'une certaine fonction s'exécute lorsque la promesse a été résolue ou rejetée (comme un toast).


    Exécuter (déclencher) une fonction lorsque le bloc #await est résolu ou rejeté

    Voici comment exécuter des fonctions spécifiques lorsque la promesse est résolue ou rejetée :

    
    
    {#await data.myPromise}
    
    
    
    {:then results}
    
    {showSuccess(results.length)}
    
      
    {#each results as result}
    
  • {result}
  • {/each} {:catch error} {showError(error.message)}

    {error?.message ?? "Something went wrong"}

    {/await}

    Maintenant, notre fonction s'exécutera chaque fois que le bloc de code sera atteint.

    • showSuccess est appelé lorsque la promesse est résolue, avec le nombre de résultats comme argument.
    • showError est déclenché si la promesse est rejetée, affichant un message d'erreur personnalisé.

    Encore une chose cependant...

    Correction d'un texte non défini ou renvoyé apparaissant dans le navigateur

    Lorsque ces fonctions sont exécutées, le texte renvoyé apparaîtra dans le navigateur, car il s'agit en quelque sorte d'une solution de contournement. La syntaxe que nous avons utilisée est généralement destinée à afficher les chaînes/nombres renvoyés dans le navigateur. Même en ne renvoyant rien, la valeur par défaut sera indéfinie. Et cette chaîne (qui n'a généralement aucun sens) sera affichée à l'utilisateur final. Quelque chose comme ça :
    Running a Function When an #await Block resolves in Svelte(Kit)

    Cela n'a aucun sens pour l'utilisateur final ?‍♂️?‍♀️

    Alors, assurez-vous de renvoyer des chaînes vides ou d'envelopper la fonction dans un bloc caché :

    1. Méthode 1 (Renvoyer les chaînes vides) :

    Dans cette méthode, nous veillerons à renvoyer les chaînes vides de nos fonctions.

    
    
    {#await data.myPromise}
      
    
    
    {:then results}
    
    {showSuccess(results.length)} 
    
    
    {#each results as result}
    
  • {result}
  • {/each} {:catch error} {showError(error.message)}

    {error?.message ?? "Something went wrong"}

    {/await}

    Cela garantira que les chaînes vides sont renvoyées.

    --- Ou ---

    2. Méthode 2 (Masquer le texte renvoyé par la fonction dans l'interface utilisateur avec CSS.)

    Dans cette méthode, nous masquerons plutôt le bloc fonctionnel dans l'interface utilisateur, afin que le texte renvoyé soit caché à la vue de l'utilisateur.

    
    
    {#await data.myPromise}
      
    
    
    {:then results}
    
    
    
    {#each results as result}
    
  • {result}
  • {/each} {:catch error}
    Déclaration de sortie Cet article est reproduit sur : https://dev.to/digitaldrreamer/running-a-function-when-an-await-block-resolves-in-sveltekit-11ec?1 En cas de violation, veuillez contacter study_golang@163 .com pour le supprimer
    Dernier tutoriel Plus>

    Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

    Copyright© 2022 湘ICP备2022001581号-3