Javascript 对承诺感到困惑,为什么要打印;1 2 11 22“;而不是",;1、2、22、11“;?

Javascript 对承诺感到困惑,为什么要打印;1 2 11 22“;而不是",;1、2、22、11“;?,javascript,promise,Javascript,Promise,我不太擅长Javascript中的Promise,今天我看到了一个让我困惑的问题,下面是代码: 新承诺((res,rej)=>{ res(); }) .然后(()=>{ 控制台日志(1); 新承诺((res,rej)=>{ res(); }) .然后(()=>{ 控制台日志(2); }) .然后(()=>{ 控制台日志(22); }); }) .然后(()=>{ 控制台日志(11); }); 我认为结果应该是12 22 11,但我错了,真正的答案是12 11 22 为什么??请帮帮我谢谢 我们

我不太擅长Javascript中的Promise,今天我看到了一个让我困惑的问题,下面是代码:

新承诺((res,rej)=>{
res();
})
.然后(()=>{
控制台日志(1);
新承诺((res,rej)=>{
res();
})
.然后(()=>{
控制台日志(2);
})
.然后(()=>{
控制台日志(22);
});
})
.然后(()=>{
控制台日志(11);
});
我认为结果应该是12 22 11,但我错了,真正的答案是12 11 22


为什么??请帮帮我谢谢

我们可以把它分成三个部分:A、B、C

新承诺((res,rej)=>{
//A部分
res()
}).然后(()=>{
//乙部
控制台日志(1)
新承诺((res,rej)=>{
//B-1部分
res()
}).然后(()=>{
//B-2部分
控制台日志(2)
}).然后(()=>{
//B-3部分
控制台日志(22)
})
}).然后(()=>{
//丙部
控制台日志(11)

})
因为您没有
返回
新承诺
。这是否回答了您的问题?