nodejs学习笔记(1)

前端之家收集整理的这篇文章主要介绍了nodejs学习笔记(1)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

<table class="text"><tr class="li1">
<td class="ln"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

后执行     setTimeout(function () {         callback && callback();     },1000); } function async() {     console.log('async is run');//等待1秒后才执行 } process.nextTick(function () {     foo(async); }); console.log('foo not run');//foo not run 先执行 用setImmediate() 实现异步   setImmediate(func); process.nextTick(callback),setImmediate(callback),setTimeout(callback,0)的区别与优先度 process.nextTick 会将回调函数保存于数组中,每轮循环都会将回调函数全部执行完,不会给其他异步事件执行的机会 nextTick是三个里面速度最快的   setImmediate 将回调函数保存于链表中,会在执行下一个event loop前给其他异步事件执行的机会   setTimeout(callback,0) 会将事件放到下一个循环中,所以会比nextTick慢 至于setTimeout和setImmediate之间谁更快,是不一定的 setTimeout(callback,0)基本会延迟4ms左右,setImmediate会延迟2ms左右. 但是setImmediate会先监控调用栈,当调用栈为空时将事件推入栈中,而此时setTimeout(callback,0)可能已经将事件推入栈中了,所以会有setImmediate比setTimeout(callback,0)慢的时候.

猜你在找的程序笔记相关文章