我有以下承诺 - 返回功能:
ByMix
为什么代码在拒绝之下执行?拒绝时,我想停止执行function createJourney() {
return new Promise((resolve, reject) => {
// code ...
doOperation((err, data) {
// code ...
return reject('We need to exit now!')
});
// ---> Why is code stil executing here? <---
})
}
功能。
我正在使用蓝鸟的承诺。
答案 0 :(得分:2)
想象
return new Promise((resolve, reject) => {
doThing1()
doOperation(..);
doThing2()
})
没有理由不执行doThing2(),具体取决于doOperation()中发生的事情
doOperation可能会启动异步操作,并且在您的示例中调用reject之前很久就会调用doThing2。