工作

谁不会休息,谁就不会工作

列宁


new Promise((resolve, reject) => {
  resolve(1);
  console.log(2);
  reject(3);
  console.log(4);
  setTimeout(() => {
    console.log(5);
  }, 0);
  console.log(6);
})
  .then(d => {
    console.log(d);
  })
  .catch(d => {
    console.log(d);
  });
console.log(7)

输出结果

2 
4 
6 
7
1
5

promise中resolve和reject两者只会执行一次,调用过resolve或者reject后promise后面的代码会继续执行,then和catch方法会等promise中所有的代码执行完毕后才会被调用 ,因为nodejs是单线程 settimeout会等队列前面的代码执行完成后才执行