Heim > Artikel > Web-Frontend > Behält Promise.all die Reihenfolge der aufgelösten Werte bei?
Reihenfolge der aufgelösten Werte in Promise.all
Die Promise.all-Methode verwendet ein Iterable als Argument und gibt ein einzelnes Versprechen zurück, das aufgelöst wird zu einem Array von Werten, sobald alle Versprechen im Iterable aufgelöst wurden. Die Dokumentation legt nahe, dass die Reihenfolge der Werte im aufgelösten Array erhalten bleibt, aber gibt es eine verlässlichere Quelle?
Reihenfolgeerhaltung in der Spezifikation
Die ECMAScript-Spezifikation für Promise.all gibt an, dass:
Alle Promise-Instanzen in promiseList aufgelöst werden und ihre jeweiligen Elemente in der Ergebnisliste auf die entsprechenden Werte gesetzt werden.
Dies deutet darauf hin, dass die Die Reihenfolge der Versprechensinstanzen im Eingabeiterable bleibt im Ausgabearray erhalten.
Interne Implementierung
Um ein Versprechen aufzulösen, verwendet die Promise.all()-Methode die Promise.all().Resolve interne Operation. Dieser Vorgang weist jeder Promise-Instanz einen internen [[Index]]-Slot zu und gibt seinen Index in der ursprünglichen Eingabeiterable an.
Schlussfolgerung
Basierend auf der Spezifikation und dem Bei der internen Implementierung von Promise.all() können wir mit Sicherheit sagen, dass die Reihenfolge der aufgelösten Werte erhalten bleibt. Das aufgelöste Array folgt strikt der Reihenfolge der Versprechen in der Eingabe-Iterable.
Das obige ist der detaillierte Inhalt vonBehält Promise.all die Reihenfolge der aufgelösten Werte bei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!