Heim >Web-Frontend >js-Tutorial >Wie führe ich asynchronen Code auf der obersten Ebene in JavaScript ordnungsgemäß aus?

Wie führe ich asynchronen Code auf der obersten Ebene in JavaScript ordnungsgemäß aus?

DDD
DDDOriginal
2024-12-13 06:44:19221Durchsuche

How Do I Properly Execute Asynchronous Code at the Top Level in JavaScript?

Top-Level-Ausführung von asynchronem Code

Bei der asynchronen Programmierung können Sie mit der Async/Await-Funktion nahtlos zwischen synchronen und asynchronen Aufgaben wechseln. Bei der Ausführung von asynchronem Code auf der obersten Ebene müssen jedoch bestimmte Überlegungen angestellt werden.

Erklärung

Wenn Sie eine asynchrone Funktion definieren, gibt sie ein Promise zurück. Wenn Sie diese Funktion auf der obersten Ebene aufrufen, gibt sie sofort das Versprechen zurück, nicht den aufgelösten Wert. Aus diesem Grund gibt Ihre Konsole das Promise-Objekt aus, bevor sie die asynchrone Aufgabe ausführt.

Lösungen

Um dieses Problem zu lösen, haben Sie mehrere Möglichkeiten:

1. Top-Level-Await (ES2022-Vorschlag)

In modernen Umgebungen können Sie Top-Level-Await in Modulen verwenden. Dadurch können Sie direkt im Modulumfang auf ein Promise warten.

const text = await main();
console.log(text); // Logs the resolved value

2. Asynchrone Funktion der obersten Ebene mit unbehandelter Ablehnung

Sie können eine asynchrone Funktion der obersten Ebene definieren, die niemals ablehnt. Dies verhindert unbehandelte Ablehnungsfehler, behandelt Fehler jedoch nicht explizit.

(async () => {
  try {
    const text = await main();
    console.log(text); // Logs the resolved value
  } catch (e) {
    // Error handling (optional)
  }
})();

3. then() und Catch()

Wenn keine der oben genannten Optionen geeignet ist, können Sie die Methoden then() und Catch() des Promise verwenden, um das Ergebnis zu verarbeiten.

main()
  .then((text) => {
    console.log(text); // Logs the resolved value
  })
  .catch((err) => {
    // Error handling
  });

Hinweis: In allen Fällen ist es wichtig, mit Ablehnungen ordnungsgemäß umzugehen, um unbehandelte Ablehnungsfehler zu vermeiden.

Das obige ist der detaillierte Inhalt vonWie führe ich asynchronen Code auf der obersten Ebene in JavaScript ordnungsgemäß aus?. 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
Vorheriger Artikel:Roadmap für Next.jsNächster Artikel:Roadmap für Next.js