除了then()
,Q.js 还有一个done()
. done()
通常在 Promise 链的末尾调用,如下所示:
promise
.then(callback)
.then(callback)
.done(callback);
这将捕获前一个 s 未处理的任何拒绝,then()
并将处理then()
s 回调中引发的任何异常。
when.js中有类似的东西吗?你如何处理回调中引发的异常?如果你从不注册拒绝处理程序怎么办?
看起来when
现在有.done()
以及.catch()
和.finally()
。
请参阅https://github.com/cujojs/when/blob/master/docs/api.md#extended-promise-api
据我所知,done
在when.js
. 事实上,如果你阅读了最后一段专门介绍调试的内容,就会提到一个名为monitor的工具,它:
[...] 监控 Promise 状态转换,然后在满足某些条件时采取行动,例如登录到控制台,例如当 Promise 被拒绝但没有附加 onRejected 处理程序时,因此拒绝将一直沉默。
done
when.js 中没有。
我建议在他们的问题跟踪器中请求它,同时使用其他提供done
.