跳到主要内容

题型

一、new Promise new Promise


new Promise new PromisePromise 嵌套并且链式调用时的顺序是怎么样的?

问题描述:

new Promise(resolve=>{
console.log('Promise第一层');
resolve();
}).then(()=>{
console.log('then第一层 1');
new Promise(resolve=>{
console.log('Promise第二层');
resolve();
}).then(()=>{
console.log("then第二层 1");
}).then(()=>{
console.log("then第二层 2");
}).then(()=>{
console.log("then第二层 3");
});
}).then(()=>{
console.log('then第一层 2');
}).then(()=>{
console.log('then第一层 3');
});

问题答案:

Promise第一层
then第一层 1
Promise第二层
then第二层 1
then第一层 2
then第二层 2
then第一层 3
then第二层 3

问题解释:

规则: 当内部promise第n个then的状态resolved时,才会执行外部promise的第n+1个then