Promise 中 return 一个 promise 对象为什么捕获不到 ?

如题:
方法 A

return new Promise((resolve, reject) => {

if (sthElse … ) {

resolve()

}

reject()

})

方法 B

return new Promise((resolve, reject) => {

if (sth … ) { // 我想把剩下的判断封装给另一个 Promise 对象

return A()

}

reject()

})

调用方法 B

B()
.then()
.catch()

都捕获不到 …


回答:

写到 then 里. 如下:
Promise 中 return 一个 promise 对象为什么捕获不到 ?

试试错误处理:
Promise 中 return 一个 promise 对象为什么捕获不到 ?

这是代码, 自己在控制台跑一下看:

new Promise(function (resolve, reject) {

throw new Error("oops!");

console.log("in promise b");

resolve(1);

})

.then((res) => {

return new Promise((resolve, reject) => {

console.log("in promise a, get promise b res: ", res);

resolve(2);

});

})

.then((res) => {

console.log("in then, get promise a res: ", res);

})

.catch((err) => {

console.error("in error", err);

});

以上是 Promise 中 return 一个 promise 对象为什么捕获不到 ? 的全部内容, 来源链接: utcz.com/p/937407.html

回到顶部