如下异步代码:

1
2
3
4
5
6
7
8
9
10
11
12
13

console.log('start...');

setTimeout(()=>{
 console.log('first callback');
},2000)

setTimeout(()=>{
 console.log('second callback');
},0)



console.log('end...');

打印结果为:

1
2
3
4

start...
end...
second callback
first callback

总结:
首先执行了下面console.log(‘end…’);,再执行了settimeout的回调函数,即便是settimeout中的时间为0.
原因是nodejs的事件循环机制,出现了异步的效果。
参考:深度理解nodejs[2]-事件循环

  • 本文链接: https://dreamerjonson.com/2018/11/15/node-12/

  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 CN协议 许可协议。转载请注明出处!

image.png