process.nextTick vs setImmediate
Najpierw odpowiedz na głos lub w myślach, potem porównaj.
Odpowiedź
NextTick planuje callback do przetworzenia przy najbliższej obsłudze kolejki nextTick, przed kontynuacją event loop. SetImmediate trafia do fazy check.
Praktyka: rekurencyjne dokładanie nextTick może zagłodzić I/O. Do oddania sterowania event loop używam mechanizmu dobranego do celu, zamiast tworzyć niekończącą się kolejkę.
Doprecyzowanie: w typowym synchronicznym kodzie CommonJS nextTick wyprzedza microtaski Promise, ale kolejność na najwyższym poziomie ES modules może być inna, bo moduł jest już wykonywany w kontekście microtaska.
Pułapka: kolejności setTimeout(0) i setImmediate nie opisuję jako zawsze identycznej. Zależy od miejsca planowania oraz środowiska. Na zadaniu ustalam, czy to CommonJS, ESM, czy callback I/O.
Jak poszło? Bądź szczery — „Jeszcze nie” dodaje pytanie do powtórki.