Nodejs极简入门教程(二):定时器
setTimeout和clearTimeout
varobj=setTimeout(cb,ms);
setTimeout用于设置一个回调函数cb,其在最少ms毫秒后被执行(并非在ms毫秒后马上执行)。setTimeout返回值可以作为clearTimeout的参数,clearTimeout用于停止定时器,这样回调函数就不会被执行了。
setInterval和clearInterval
varobj=setInterval(cb,ms);
setInterval和setTimeout类似,不过setInterval会在每ms毫秒后(并非精确的ms毫秒后)执行一次cb。setInterval返回值可以作为clearInterval的参数,clearInterval用于停止定时器,这样回调函数就不会被执行了。
setImmediate和clearImmediate
varobj=setImmediate(cb);
setImmediate用于延迟调用cb函数。cb将在I/O事件回调之后,setTimeout和setInterval回调之前调用。setImmediate的返回值可以作为clearImmediate的参数,clearImmediate用于停止触发回调函数。
process.nextTick
process.nextTick(cb);
类似setImmediate函数,用于延迟调用cb函数。cb将在I/O事件回调之前调用(区别于setImmediate)。process.nextTick相比setTimeout(cb,0)要高效的多。process.nextTick在每次循环时会执行最多process.maxTickDepth个回调函数,而setImmediate在每次循环中仅仅执行一个回调函数。