67、Promise 构造函数是同步执行还是异步执行,那么 then 方法呢?

Promise 构造函数是同步执行还是异步执行,那么 then 方法呢?

解题:

promise构造函数是同步执行的,then方法是异步执行的 欢迎大佬们补充!!

直接上代码

const promise = new Promise((resolve, reject) => {
  console.log(1)
  resolve()
  console.log(2)
})

promise.then(() => {
  console.log(3)
})

console.log(4)

执行结果是:1243

 

扩展
const promise = new Promise((resolve, reject) => {
  console.log(1);
  resolve(5);
  console.log(2);
}).then(val => {
  console.log(val);
});

promise.then(() => {
  console.log(3);
});

console.log(4);

setTimeout(function() {
  console.log(6);
});

执行结果: 124536

Promise new的时候会立即执行里面的代码 then是微任务 会在本次任务执行完的时候执行 setTimeout是宏任务 会在下次任务执行的时候执行

posted @ 2020-08-11 19:18  大牛半路出家  阅读(2054)  评论(0编辑  收藏  举报