在节点和浏览器中获得不同的输出(关于setTimeout)

时间:2018-07-25 09:31:25

标签: javascript settimeout

我在javascript的事件循环中遇到了一些问题。

我运行以下代码

setTimeout(function() {
    console.log('setTimeout1');
      Promise.resolve().then(function() {
        console.log('promise1');
      }).then(function() {
        console.log('promise2');
      })
  }, 0);
  setTimeout(function() {
    console.log('setTimeout2');
      Promise.resolve().then(function() {
        console.log('promise3');
      }).then(function() {
        console.log('promise4');
      })
  }, 0);

我在节点和浏览器中得到了不同的输出。

节点的输出:

setTimeout1
setTimeout2
promise1
promise3
promise2
promise4

浏览器的输出:

setTimeout1
promise1
promise2
setTimeout2
promise3
promise4

我想不通。

0 个答案:

没有答案