time定时器模块

定时器模块,提供了定时器功能,是全局api,基于Node.js事件循环构建的。

    分为immediate类,timeout类。主要方法有ref(),unref(),不要退出Node循环,要退出循环。

setImmediate(fun):微任务当前队列末尾执行,它是在 I/O 事件的回调之后被触发,执行顺序类似于promise.then()。

setInterval(),定时器, setTimeout(cb, 0) === setTimeout(cb, 1);

setTimeout(),延时器。

Node.js的事件循环:Node.js有6个阶段,每个阶段都有一个要执行的队列,当队列耗尽才进入下一个阶段

        1,times定时器阶段,此阶段执行定时器和延时器。

        2,pending callback:执行延迟到下一个循环迭代的I / O回调。

        3,idle,prepare(libuv内部使用)。

        4,poll 阶段,任何异步方法(除timer,close,setImmediate之外)完成时,都会将其callback加到poll queue里,并立即执行。

        5,check 阶段,setImmediate()在这里调用回调。

        6,close callbacks(执行关闭请求的回调,如socket.on('close', ...))

转载于:https://my.oschina.net/u/3971746/blog/3006182

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值