Audaxviator,
но по сути обе функции выполнят свой колбэк после всех синхронных действий текущего тика.
Просто process.nextTick оформляет свою задачу как "микротаск" - добавляет в специальную очередь текущего исполняемого "таска" (витка основного событийного цикла), все пункты из очереди выполняются сразу за самим таском, только потом стартует новый таск.
А setImmediate сразу ставит отдельный таск.
Потому, в принципе неважно что там - nextTick, setImmediate, прочее... - все равно присвоение (из примера) случится после тех действий, которые идут за вызовом foo()
Последний раз редактировалось Alexandroppolus, 19.02.2018 в 17:49.
|