Javascript when.js与Q.js';s";完成();?
除了Javascript when.js与Q.js';s";完成();?,javascript,node.js,promise,q,when-js,Javascript,Node.js,Promise,Q,When Js,除了then(),Q.js还有一个done()通常在承诺链的末尾调用,如下所示: promise .then(callback) .then(callback) .done(callback); 这将捕获以前的then()s未处理的任何拒绝,并将处理then()回调中引发的任何异常 这里面有类似的东西吗?如何处理回调中引发的异常?如果你从未注册过拒绝处理程序呢?据我所知,when.js中没有done。事实上,如果您阅读了最后一段专门介绍的内容,就会提到一个名为monitor的工具,它: […]
then()
,Q.js还有一个done()
通常在承诺链的末尾调用,如下所示:
promise
.then(callback)
.then(callback)
.done(callback);
这将捕获以前的then()
s未处理的任何拒绝,并将处理then()
回调中引发的任何异常
这里面有类似的东西吗?如何处理回调中引发的异常?如果你从未注册过拒绝处理程序呢?据我所知,
when.js
中没有done
。事实上,如果您阅读了最后一段专门介绍的内容,就会提到一个名为monitor的工具,它:
[…]监视承诺状态转换,然后在满足某些条件时采取操作,例如登录到控制台,例如当承诺已被拒绝但未附加onRejected处理程序时,因此拒绝将保持沉默
when.js中没有
done
我建议在他们的问题跟踪器中请求它,同时使用其他提供
done
的库,当现在有.done()
以及.catch()
和.finally()
时,它看起来像
见好的,谢谢。我想我也可以使用.others()
来捕获错误的拒绝,但从文档中不清楚这是否也会捕获以前绑定的回调中引发的任何异常。据我所知,拒绝是沿着承诺链传递的。因此答案是肯定的,它将捕获以前提出的异常。在基准测试中,当.js大于q.js时,因此丢失done()
可能是值得的。您能推荐另一个支持类似done()
的fast库吗?我认为您可以检查这个库,它很快,几乎从一开始就完成了done
。我的眼睛完成了
是promise库的必备品。