考虑这段代码。假设first catch
块被执行,那么问题就在于如何确定它是由testP
还是first then
承诺引起的。
var testP = function(){
return new Promise(function(resolve, reject){
//reject or resolve
});
}
testP().then(function(res){
console.log("first then");
console.log(res);
return new Promise(function(resolve,reject){
// reject or resolve
})
})
.catch(function(err){
console.log("first catch");
console.log(err);
})
答案 0 :(得分:0)
你不能。
如果你想区分?你应该使用then
的第二个参数。
testP().then(function(res){
console.log("first then");
console.log(res);
return new Promise(function(resolve,reject){
// reject or resolve
})
}, function(err){
console.log("first catch");
console.log(err);
})
.catch(function(err){
console.log("second catch");
console.log(err);
})