Heim >Web-Frontend >js-Tutorial >Wie verwende ich Async/Await mit Try...Catch in TypeScript richtig?

Wie verwende ich Async/Await mit Try...Catch in TypeScript richtig?

Linda Hamilton
Linda HamiltonOriginal
2024-12-11 02:11:10291Durchsuche

How to Correctly Use Async/Await with Try...Catch in TypeScript?

Korrekte Async/Await-Syntax für Try...Catch mit Variablendeklaration

Die neue Async/Await-Funktion in TypeScript ermöglicht flacheren Code , aber die Platzierung von Variablen in try...catch-Blöcken bei Verwendung von „await“ kann sein verwirrend.

Best Practice

Es gilt als Best Practice, mehrere Zeilen Geschäftslogik in den Try-Body aufzunehmen, um sicherzustellen, dass Ausnahmen ordnungsgemäß abgefangen werden.

try {
    const createdUser = await this.User.create(userInfo);

    // Business logic goes here
} catch (error) {
    console.error(error); // From creation or business logic
}

Umgang mit Fehlern aus dem Versprechen

Wenn Sie nur Fehler abfangen und behandeln möchten Aus dem Versprechen selbst haben Sie drei Möglichkeiten:

  1. Variable außerhalb und verzweigen deklarieren:

    • Der Variablen einen Standardwert zuweisen im Catch-Block.
    • Kehren Sie vorzeitig zurück oder lösen Sie eine Ausnahme erneut aus dem Catch-Block aus.
    • Setzen Sie a Flag, das angibt, ob der Catch-Block eine Ausnahme abgefangen hat.
    • Testen Sie den Wert der Variablen, um festzustellen, ob sie zugewiesen wurde.
  2. Testen Sie den Typ der abgefangenen Ausnahme :

    • Testen Sie die abgefangene Ausnahme anhand eines bestimmten Fehlers Typ.
  3. Dann mit Rückrufen verwenden:

    • Schreiben Sie zwei Rückruffunktionen, eine für Erfolg und eine für Fehler. statt zu verwenden versuchen/fangen.

Beispiel:

await this.User.create(userInfo).then(createdUser => {
    // Business logic goes here
}, error => {
    console.error(error); // From creation
});

Das obige ist der detaillierte Inhalt vonWie verwende ich Async/Await mit Try...Catch in TypeScript richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn