为什么我需要两者?有什么不同?
之间 .then(doWork, errorHandler)
…和…
.then(doWork)
.catch(errorHandler)
是为了方便,两者都能捕获错误吗?我需要同时使用还是只用一个?在哪些用例上?
在第一个代码片段中,如果成功处理程序抛出异常或拒绝承诺,则执行将不会进入错误处理程序,因为承诺已经在此级别解决了。
使用catch,您总是可以看到来自前一个成功处理程序的未处理的错误。