完成函数kriskowal的意义q

时间:2017-04-13 16:26:23

标签: javascript q

done函数用于结束一系列承诺,例如:

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

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

  

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

究竟是什么"结束链"意思?有什么影响?

1 个答案:

答案 0 :(得分:1)

这个网站有很好的解释

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

以下是主题下的文字: 已完成()到救援

  只要then()可以,就可以调用

done()。关键的区别在于它   不返回一个promise,以及任何未处理的异常   promise实现未捕获done()。换一种说法,   done()表示整个promise链完全解析的时间。

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

 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