Node.js代码执行顺序

代码执行顺序分析:

console.log('1');

setTimeout(function () {
    console.log('2');
},2000);

setTimeout(function () {
    console.log('3');
},0);

console.log('4');

其执行顺序如下:

/*
执行顺序:
1
4
3
2
 */

之所先执行4,然后再执行3,是因为node.js从上往下执行代码时,并不是遇到什么执行什么,而是先执行完同步代码,然后在执行异步代码

代码执行顺序

分析代码执行顺序:


node.js从上往下一次执行代码时,遇到同步代码,会将其拿到同步代码执行区中去执行。遇到异步代码,会将其放到异步代码执行区中,但不会执行,然后将异步代码中的回调函数放在回调函数队列中,也不执行。
当所有的同步代码执行完成以后,会再到异步代码执行区中去依次执行代码,当异步代码区中的代码执行完毕以后,系统会去回调函数中去找异步代码所对应的回调函数,
然后将回调函数中的同步代码拿到同步代码执行区中去执行

如果觉得文章有帮助到你,可以扫描以下二维码
   请本文作者 喝一杯
pay_weixin pay_weixin

发表评论

电子邮件地址不会被公开。 必填项已用*标注