Async/Await und die Event Loop in JavaScript Erklärt
Führen Sie das in Node oder einer Browser-Konsole aus: 1 2 3 4 console.log("1"); setTimeout(() => console.log("2"), 0); Promise.resolve().then(() => console.log("3")); console.log("4"); Die Ausgabe ist 1 4 3 2. Ein setTimeout mit 0ms Verzögerung läuft trotzdem nach dem Promise-Callback, und beide warten auf jede Zeile synchronen Codes darunter. async/await baut auf dieser Reihenfolge auf, nicht auf einem neuen Mechanismus. Die meisten überraschenden Verhaltensweisen in asynchronem JavaScript entstehen, weil man await so schreibt, als würde es das gesamte Programm anhalten, obwohl es nur die Funktion anhält, in der es steht. ...