Heim > Web-Frontend > js-Tutorial > Ist die Verwendung von async/await innerhalb eines Promise-Konstruktors ein Anti-Pattern?

Ist die Verwendung von async/await innerhalb eines Promise-Konstruktors ein Anti-Pattern?

Mary-Kate Olsen
Freigeben: 2024-12-16 17:41:11
Original
374 Leute haben es durchsucht

Is Using async/await Inside a Promise Constructor an Anti-Pattern?

Async/await in einem Promise()-Konstruktor verwenden: Ein Anti-Pattern?

In diesem Szenario verwenden Sie ein async .eachLimit-Funktion zum Verwalten gleichzeitiger Vorgänge. Ihre Verwendung von async/await innerhalb der Promise-Konstruktorfunktion wirft jedoch Bedenken auf.

Promise Constructor Anti-Pattern

Verwendung von Versprechen innerhalb der Executor-Funktion des Promise-Konstruktors, wie Sie was wir tun, gilt als Anti-Muster. Das Hauptrisiko besteht, wie in Ihrem Code veranschaulicht, darin, dass möglicherweise Fehler unkontrolliert durchschlüpfen.

Außerdem führt Async/Await zu zusätzlicher Komplexität, wodurch diese Probleme möglicherweise verschleiert werden. Zum Beispiel in Ihrem Code:

let p = new Promise(resolve => {
  ""(); // TypeError
  resolve();
});

(async () => {
  await p;
})().catch(e => console.log("Caught: " + e)); // Catches it.
Nach dem Login kopieren

Hier bleibt der TypeError im Promise-Konstruktor unbemerkt, wird aber bei Verwendung von async/await abgefangen. Solche Überraschungen können problematisch sein.

Daher kann Ihr Code Ihnen zwar den Zugriff auf Werte in verschachtelten Rückrufen ermöglichen, es ist jedoch wichtig, sorgfältig mit Fehlern umzugehen und diese Anti-Patterns zu vermeiden, um robusten und wartbaren Code zu gewährleisten.

Das obige ist der detaillierte Inhalt vonIst die Verwendung von async/await innerhalb eines Promise-Konstruktors ein Anti-Pattern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage