【发布时间】:2019-04-13 01:56:33
【问题描述】:
我正在从this site. 学习 JS Promises 中的链接基于高级示例,我编写了以下代码以更好地理解错误传播。
var promise = new Promise((resolve, reject) => {
reject('Rejected!');
});
promise.then(()=>new Promise ((resolve, reject) => resolve('Done!')), () => console.log('Failure of first Promise'))
.then(() => console.log('Success of nested Promise'), () => console.log('Failure of nested Promise'));
console.log('This will be still printed first!');
在这里,当我拒绝第一个承诺时,它正在记录 Failure of first Promise,然后是 Success of nested Promise。
现在我想知道嵌套 Promise 的成功回调是怎么回事?正如上面提到的文章中所解释的,很明显,即使一个 promise 失败(rejected),也应该调用失败回调。
我在这里缺少什么?谢谢。
【问题讨论】:
-
如果错误需要向下传播
error => throw error;,请重新抛出错误,或者如果您需要更改某些错误对象属性,则在拒绝处理程序中抛出新错误。error => throw new Error( 'some other error description' );.
标签: javascript node.js ecmascript-6 promise es6-promise