Heim > Web-Frontend > js-Tutorial > Wann wird der Rückruf des Promise-Konstruktors ausgeführt?

Wann wird der Rückruf des Promise-Konstruktors ausgeführt?

DDD
Freigeben: 2024-11-28 19:12:10
Original
233 Leute haben es durchsucht

When is the Promise Constructor's Callback Executed?

Synchronizität des Rückrufs des Promise-Konstruktors

Im Kontext der Promise-Konstruktion fragen Sie sich möglicherweise, wann der für das Promise bereitgestellte Rückruf ausgeführt wird Konstrukteur. Lassen Sie uns diese Frage im Detail untersuchen.

Bedenken Sie den folgenden Ausschnitt:

function doSomethingAsynchronous() {
  return new Promise((resolve) => {
    const result = doSomeWork();

    setTimeout(() => {
      resolve(result);
    }, 100);
  });
}
Nach dem Login kopieren

An welchem ​​Punkt wird beim Erstellen dieses Versprechens doSomeWork() aufgerufen?

Gemäß der Gemäß der ECMAScript-Spezifikation wird die Executor-Funktion (der dem Konstruktor bereitgestellte Rückruf) aufgerufen synchron bei der Promise-Konstruktion. Dies bedeutet, dass doSomeWork() sofort ausgeführt wird, wenn das Promise erstellt wird, bevor der Rückruf mit der Ausführung fortfährt. Im MDN heißt es dazu:

Der Executor wird synchron aufgerufen (sobald das Promise erstellt wird) mit den Funktionen „resolveFunc“ und „rejectFunc“ als Argumente.

Die synchrone Natur des Executor-Aufrufs ist durch die Spezifikation garantiert. Diese Garantie ist beispielsweise relevant, wenn mehrere Versprechen unter Verwendung von „all“ oder „race“ erstellt werden, sowie wenn der Executor synchrone Nebenwirkungen hat.

Das obige ist der detaillierte Inhalt vonWann wird der Rückruf des Promise-Konstruktors ausgeführt?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage