Vor der Aktualisierung von Chrome auf 58 hatte ich keine Fehler.Versprochen Unerwartetes Verhalten, Ausführungsreihenfolge
Weitere Erläuterung: Mein Code am Sonntag arbeitet, ich, fand später über diese 2 Tage keine Kenntnis von der async Art der Hinrichtung war aus!
new Promise((s, f) => {
console.log(1);
s();
console.log(2);
})
.then(r => {console.log(3)})
console.log(4);
OUTPUT:
1- Warum wird 'then' nach console.log (2) ausgeführt?
Mögliche Antwort: weil das Versprechen Ergebnis, nachdem der Körper ausgeführt wird kehrt
2- Warum 'und dann' nach console.log ausgeführt werden soll (4) ???
Versprechen sollen nicht synchron sein. Stellen Sie sich vor, der Resolver/Rejector würde stattdessen 'setTimeout (function() {...})' 'und Sie würden im Grunde das gleiche Verhalten erhalten. –
Ich habe diese Reihenfolge für alle meine Testbrowser (Firefox/Chrome/Edge/Opera). Für die erste Frage weiß ich nicht, aber es scheint Logik, dass 3 nach 4 kommt, wie in einem regulären Async-Aufruf, der Code folgt vor dem Rückruf ausgeführt wird. – Kaddath
@PatrickRoberts richtig, aber mein Code arbeitete am Sonntag, ich war mir der Async-Natur in der Ausführung nicht bewusst, habe heute darüber herausgefunden, interessant! –