done函数用于结束承诺链,例如:

foo()
.then(function () {
    return "bar";
})
.done();


从项目链接:https://github.com/kriskowal/q


  当您到达承诺链的末尾时,您应该返回最后一个承诺或结束该链。


“终止链条”到底是什么意思?这意味着什么?

最佳答案

这个网站有很好的解释

http://www.mattgreer.org/articles/promises-in-wicked-detail/

这是主题下的文本:Rescue的done()


  只要then()可以调用done()。关键区别在于
  不返回promise,以及内部任何未处理的异常
  promise实现未捕获done()。换一种说法,
  done()表示整个承诺链何时已完全解决。


以及网站示例中使用的代码示例。

 getSomeJson().done(function(json) {
  // when this throws, it won't be swallowed
  var obj = JSON.parse(json);
  console.log(obj);
});


从q的github进一步阅读
https://github.com/kriskowal/q/wiki/API-Reference#promisedoneonfulfilled-onrejected-onprogress

关于javascript - 完成函数kriskowal q的含义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43397351/

10-13 01:34