猿问

如何理解 resolve(Promise.resolve())内部执行了什么

new Promise((resolve, reject) => {  console.log("async1 start");  console.log("async2");
  resolve(Promise.resolve());
}).then(() => {  console.log("async1 end");
});new Promise(function(resolve) {  console.log("promise1");
  resolve();
}).then(function() {  console.log("promise2");
}).then(function() {  console.log("promise3");
}).then(function() {  console.log("promise4");
});

执行结果如下:

async1 start
async2
promise1
promise2
promise3
async1 end
promise4


求大神解释结果为什么是这样的?


噜噜哒
浏览 490回答 1
1回答

青春有我

Promise.resolve()返回一个新Promise对象,这时外面的resolve不会直接产生then,而会去检查这个Promise,导致了延迟
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答