我有错误处理函数:
function onError(message, source, lineno, colno, error) { sendRequestToSendMail(arguments) }
window.onerror = onError
我还有使用promises的异步任务,我希望在其中捕获异常。我不需要重复自己:
doSomething1()
.then(doSomething2(), onError)
.then(doSomething3(), onError)
.then(doSomething4(), onError)
如何为所有promises(如window.onError)实现全局错误处理程序?
答案 0 :(得分:1)
这不是一个全局错误处理程序(这对我来说听起来不是一个好主意),但是由于错误是通过promise链传播的,所以你可以通过添加一个来缩短你的代码(并摆脱重复)。对您的连锁店发表最终.catch()
声明:
doSomething1()
.then(doSomething2())
.then(doSomething3())
.then(doSomething4())
.catch(onError)
这将抓住任何doSomething*
函数抛出的任何拒绝。