【发布时间】:2017-03-15 14:30:35
【问题描述】:
我有以下使用本机承诺的代码:
function getUser() {
return new Promise(function (resolve, reject) {
reject();
});
}
function changeUser() {
return new Promise(function (resolve, reject) {
return getUser().catch(function (responseData, test) {
console.log('boo error'); // this logs `boo error`
throw {};
});
});
}
changeUser().then(function () {
console.log('done');
}).catch(function () {
console.log('error'); // this is not triggered
});
当我运行它时,不执行带有console.log('error'); 的第一个catch 块。这是为什么?原生 Promise 的实现和Q 有区别吗?
【问题讨论】:
标签: javascript promise