Показать сообщение отдельно
  #3 (permalink)  
Старый 09.01.2016, 14:55
Новичок на форуме
Отправить личное сообщение для zett Посмотреть профиль Найти все сообщения от zett
 
Регистрация: 09.01.2016
Сообщений: 9

Сообщение от Яростный Меч Посмотреть сообщение
nextTick никого не пропускает вперед себя в событийном цикле (вроде последний даже не прокручивается, пока есть задачи nextTick). В твоем коде он будет аналогичен простому бесконечному циклу while.
nextTick можно использовать только одноразово - чтобы выполнить действия сразу по завершении текущего потока действий.

Соответственно, до обработки запроса дело не доходит, он висит в очереди.
Ок, большое спасибо за ответ Примерно такие догадки были и у меня.. Но меня смутила одна статья

http://howtonode.org/understanding-process-next-tick

Там есть такой же код и автор пишет:
In this model, instead of calling compute() recursively, we use process.nextTick() to delay the execution of compute() till the next tick of the event loop. By doing so, we ensure that if any other HTTP requests are queued in the event loop, they will be processed before the next time compute() gets invoked. If we had not used process.nextTick() and had simply called compute() recursively, the program would not have been able to process any incoming HTTP requests. Try it for yourself!

Наверное глупая идея читать доки младше 2014 года хотя бы )) видать все поменялось
Ответить с цитированием