W jakiej kolejności zostaną wypisane litery w konsoli po wykonaniu skryptu JavaScript?
console.log("A");
setTimeout(() => console.log("B"), 0);
Promise.resolve().then(() => console.log("C"));
console.log("D");Dlaczego tak
Najpierw wykonuje się cały kod synchroniczny, czyli wypisanie A i D. Potem pętla zdarzeń obsługuje kolejkę mikrozadań, do której trafia funkcja z then() obietnicy, więc pojawia się C. Dopiero na końcu wykonywane jest makrozadanie z setTimeout – nawet z opóźnieniem 0 ms – i wypisuje B, dlatego kolejność A D B C jest błędna.