如何捕获promise链的错误
发布于 9 年前 作者 neal1991 3997 次浏览 最后一次编辑是 8 年前 来自 问答

假设我有一个事件链,每一个后面的函数都需要前面的函数之行完成 func1.then(func2).then(fun3).catch(function(err) console.log(err)) 我想说如果fun2或者fun3出现错误的时候,错误是不是被吞掉了 为什么不会被触发function func2() return new Promise(resolve,reject) { if(err) reject(err); else resolve() } ` 问题出现在什么地方吗

3 回复

不存在错误被吞的情况,要么就没用对,你代码示例看不出什么问题啊

任何一个地方出错(哪怕是在func2/3中使用的外部函数出错),都会触发catch,你console.log错误都会出来

promise中出错会找最近的一个catch,如果你只加了一个catch,必然所有的错误都会进去

回到顶部