为了账号安全,请及时绑定邮箱和手机立即绑定

node中的process.nextTick 与 js定时器调用的原理区别问题?

node中的process.nextTick 与 js定时器调用的原理区别问题?

慕斯709654 2019-03-04 16:56:18
按照《JavaScript高级程序设计》中关于定时器的描述,我觉得定时器也是需要等待之前事件队列中的事件执行完毕,才会执行定时器任务。直到在看到《node.js高级编程》一书,上面有这么一段话process.nextTick不也是需要等待之前事件队列中的事件执行完毕,才会执行回调函数吗?为什么比定时器好呢?还有激活JavaScript的超时队列是什么东西?跟事件队列一样吗?
查看完整描述

2 回答

?
Cats萌萌

TA贡献1805条经验 获得超9个赞

"超时队列是什么东西"

不就是setTimeout喽!!翻译一下不就是“超时”嘛。

至于process.nextTick为什么比setTimeout块,大概说下吧:

process.nextTick把回调函数放到了事件队列的顶部,于是,当前同步代码(牛人们常说的执行栈)执行完毕后,从事件队列里挑回调函数时,最先被挑中的就是他了。顶部好理解吧?多个异步任务丢到了事件队列里,总有个先后的,顶部就是最前面。

setTimeout比他慢好理解了么,这个东西再怎么设置超时时间为0,在事件队列里他也总在process.nextTick的后面。

说的不是很专业,但意思差不多了。如果需要更精准答案,最好google一下,或者翻node源码


查看完整回答
反对 回复 2019-03-04
?
波斯汪

TA贡献1811条经验 获得超4个赞

Check out here and get NTA UGC Net Admit Card

查看完整回答
反对 回复 2019-03-04
  • 2 回答
  • 0 关注
  • 493 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信