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 里. 如下:
试试错误处理:
这是代码, 自己在控制台跑一下看:
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