Node.js · Middle · Pytanie 2 z 75
W jakiej kolejności pojawi się wynik?
setTimeout(() => console.log("timeout"), 0);
Promise.resolve().then(() => console.log("promise"));
process.nextTick(() => console.log("nextTick"));
console.log("sync");- 1nextTick, sync, promise, timeout
- ✓Poprawna odpowiedź: sync, nextTick, promise, timeout
- 3sync, promise, nextTick, timeout
Wyjaśnienie
Najpierw wykonuje się kod synchroniczny. Potem Node.js opróżnia kolejkę process.nextTick, następnie kolejkę mikrozadań promise'ów, a dopiero potem przechodzi do faz event loop z timerami.