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

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

    {/await}

    Das ist im Grunde die Funktionsweise des #await-Blocks in Svelte. Je nach Status eines Versprechens werden unterschiedliche Inhalte angezeigt: eine Ladeanzeige, wenn sie aussteht, Ergebnisse, wenn sie gelöst wird, und eine Fehlermeldung, wenn sie abgelehnt wird.

    Aber nehmen wir an, ich möchte, dass eine bestimmte Funktion ausgeführt wird, wenn das Versprechen gelöst oder abgelehnt wurde (wie ein Toast).


    Führen Sie eine Funktion aus (triggern Sie sie aus), wenn der #await-Block aufgelöst oder abgelehnt wird

    So können Sie bestimmte Funktionen ausführen, wenn das Versprechen aufgelöst oder abgelehnt wird:

    {#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}

    Jetzt wird unsere Funktion immer dann ausgeführt, wenn der Codeblock erreicht wird.


    Eines aber noch...

    Korrigieren Sie undefinierten oder zurückgegebenen Text, der im Browser angezeigt wird

    Wenn diese Funktionen ausgeführt werden, wird der zurückgegebene Text im Browser angezeigt, da dies eine Art Problemumgehung darstellt. Die von uns verwendete Syntax dient normalerweise dazu, zurückgegebene Zeichenfolgen/Zahlen im Browser anzuzeigen. Selbst wenn Sie nichts zurückgeben, wird die Standardeinstellung undefiniert zurückgegeben. Und diese Zeichenfolge (die normalerweise keinen Sinn ergibt) wird dem Endbenutzer angezeigt. Etwas in der Art:
    \\\"Running

    Macht für den Endbenutzer keinen Sinn ?‍♂️?‍♀️

    Stellen Sie also sicher, dass Sie leere Zeichenfolgen zurückgeben, oder schließen Sie die Funktion in einen versteckten Block ein:

    1. Methode 1 (Leere Zeichenfolgen zurückgeben):

    Bei dieser Methode stellen wir sicher, dass unsere Funktionen leere Zeichenfolgen zurückgeben.

    {#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}

    Dadurch wird sichergestellt, dass leere Zeichenfolgen zurückgegeben werden.

    --- Oder ---

    2. Methode 2 (Verstecken Sie den zurückgegebenen Text der Funktion in der Benutzeroberfläche mit CSS.)

    Bei dieser Methode verbergen wir stattdessen den Funktionsblock in der Benutzeroberfläche, sodass der zurückgegebene Text für den Benutzer nicht sichtbar ist.

    {#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}

    Diese CSS-basierte Methode stellt sicher, dass der zurückgegebene Text nicht sichtbar ist.

    Viel Spaß beim Hacken

    PS: Müssen Sie einen SvelteKit-Entwickler einsetzen? Kontaktieren Sie mich

    ","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"}}
    „Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“

    Ausführen einer Funktion, wenn ein #await-Block in Svelte(Kit) aufgelöst wird

    Veröffentlicht am 18.11.2024
    Durchsuche:949

    Zum Inhalt springen:

    • Über den #await-Block in Svelte
    • Eine Funktion ausführen (auslösen), wenn der #await-Block aufgelöst oder abgelehnt wird
    • Korrigieren Sie undefinierten oder zurückgegebenen Text, der im Browser angezeigt wird
      • 1. Methode 1 (Leere Zeichenfolgen zurückgeben):
      • 2. Methode 2 (Verstecken Sie den zurückgegebenen Text der Funktion in der Benutzeroberfläche mit CSS.)
        • PS: Müssen Sie einen SvelteKit-Entwickler einsetzen? Kontaktieren Sie mich

    Über den #await-Block in Svelte

    Der #await-Block in Svelte ist sehr praktisch für die Verarbeitung asynchroner Daten:

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

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

    {/await}

    Das ist im Grunde die Funktionsweise des #await-Blocks in Svelte. Je nach Status eines Versprechens werden unterschiedliche Inhalte angezeigt: eine Ladeanzeige, wenn sie aussteht, Ergebnisse, wenn sie gelöst wird, und eine Fehlermeldung, wenn sie abgelehnt wird.

    Aber nehmen wir an, ich möchte, dass eine bestimmte Funktion ausgeführt wird, wenn das Versprechen gelöst oder abgelehnt wurde (wie ein Toast).


    Führen Sie eine Funktion aus (triggern Sie sie aus), wenn der #await-Block aufgelöst oder abgelehnt wird

    So können Sie bestimmte Funktionen ausführen, wenn das Versprechen aufgelöst oder abgelehnt wird:

    
    
    {#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}

    Jetzt wird unsere Funktion immer dann ausgeführt, wenn der Codeblock erreicht wird.

    • showSuccess wird aufgerufen, wenn das Versprechen aufgelöst wird, mit der Anzahl der Ergebnisse als Argument.
    • showError wird ausgelöst, wenn das Versprechen abgelehnt wird, und zeigt eine benutzerdefinierte Fehlermeldung an.

    Eines aber noch...

    Korrigieren Sie undefinierten oder zurückgegebenen Text, der im Browser angezeigt wird

    Wenn diese Funktionen ausgeführt werden, wird der zurückgegebene Text im Browser angezeigt, da dies eine Art Problemumgehung darstellt. Die von uns verwendete Syntax dient normalerweise dazu, zurückgegebene Zeichenfolgen/Zahlen im Browser anzuzeigen. Selbst wenn Sie nichts zurückgeben, wird die Standardeinstellung undefiniert zurückgegeben. Und diese Zeichenfolge (die normalerweise keinen Sinn ergibt) wird dem Endbenutzer angezeigt. Etwas in der Art:
    Running a Function When an #await Block resolves in Svelte(Kit)

    Macht für den Endbenutzer keinen Sinn ?‍♂️?‍♀️

    Stellen Sie also sicher, dass Sie leere Zeichenfolgen zurückgeben, oder schließen Sie die Funktion in einen versteckten Block ein:

    1. Methode 1 (Leere Zeichenfolgen zurückgeben):

    Bei dieser Methode stellen wir sicher, dass unsere Funktionen leere Zeichenfolgen zurückgeben.

    
    
    {#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}

    Dadurch wird sichergestellt, dass leere Zeichenfolgen zurückgegeben werden.

    --- Oder ---

    2. Methode 2 (Verstecken Sie den zurückgegebenen Text der Funktion in der Benutzeroberfläche mit CSS.)

    Bei dieser Methode verbergen wir stattdessen den Funktionsblock in der Benutzeroberfläche, sodass der zurückgegebene Text für den Benutzer nicht sichtbar ist.

    
    
    {#await data.myPromise}
      
    
    
    {:then results}
    
    
    
    {#each results as result}
    
  • {result}
  • {/each} {:catch error}
    Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/digitaldrreamer/running-a-function-when-an-await-block-resolves-in-sveltekit-11ec?1 Bei Verstößen wenden Sie sich bitte an Study_golang@163 .com, um es zu löschen
    Neuestes Tutorial Mehr>

    Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

    Copyright© 2022 湘ICP备2022001581号-3