Heim >Web-Frontend >js-Tutorial >Ist die Verwendung von async/await innerhalb eines Promise-Konstruktors ein 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.
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!