Тема: Callback Hell
Показать сообщение отдельно
  #11 (permalink)  
Старый 19.02.2018, 17:45
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

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

Потому, в принципе неважно что там - nextTick, setImmediate, прочее... - все равно присвоение (из примера) случится после тех действий, которые идут за вызовом foo()

Последний раз редактировалось Alexandroppolus, 19.02.2018 в 17:49.
Ответить с цитированием