0

除了then(),Q.js 还有一个done(). done()通常在 Promise 链的末尾调用,如下所示:

promise
.then(callback)
.then(callback)
.done(callback);

这将捕获前一个 s 未处理的任何拒绝,then()并将处理then()s 回调中引发的任何异常。

when.js中有类似的东西吗?你如何处理回调中引发的异常?如果你从不注册拒绝处理程序怎么办?

4

3 回答 3

4

看起来when现在有.done()以及.catch().finally()

请参阅https://github.com/cujojs/when/blob/master/docs/api.md#extended-promise-api

于 2014-02-26T10:55:05.390 回答
2

据我所知,donewhen.js. 事实上,如果你阅读了最后一段专门介绍调试的内容,就会提到一个名为monitor的工具,它:

[...] 监控 Promise 状态转换,然后在满足某些条件时采取行动,例如登录到控制台,例如当 Promise 被拒绝但没有附加 onRejected 处理程序时,因此拒绝将一直沉默

于 2013-08-21T19:52:23.293 回答
1

donewhen.js 中没有。

我建议在他们的问题跟踪器中请求它,同时使用其他提供done.

于 2013-08-22T09:28:05.330 回答