pro*_*000 10 javascript promise es6-promise
在我的代码中,Promise.all()
一旦所有的承诺都完成了,我就会异步运行代码.有时,一个承诺会失败,我不知道为什么.我想知道哪个承诺失败了.传递一个回调作为第二个参数的.then
方法没有太大的帮助,因为我知道那一个承诺被拒绝而不是其承诺被拒绝.
堆栈跟踪也没有帮助,因为第一项是Promise.all()
错误处理程序.Error
传递给传递给try
函数的第二个函数的第一个参数的对象Promise.all()
的行号只是我记录行号的行号.
有谁知道找出哪个承诺拒绝的方法?
Ber*_*rgi 15
您可以onreject
在每个承诺上使用处理程序:
Promise.all(promises.map((promise, i) =>
promise.catch(err => {
err.index = i;
throw err;
});
)).then(results => {
console.log("everything worked fine, I got ", results);
}, err => {
console.error("promise No "+err.index+" failed with ", err);
});
Run Code Online (Sandbox Code Playgroud)
通常,每个拒绝原因都应包含足够的信息来识别您需要处理(或记录)的问题.
归档时间: |
|
查看次数: |
3953 次 |
最近记录: |