done函数用于结束一系列承诺,例如:
foo()
.then(function () {
return "bar";
})
.done();
从项目链接:https://github.com/kriskowal/q:
当你到达承诺链的末尾时,你应该返回最后的承诺或结束链。
究竟是什么"结束链"意思?有什么影响?
答案 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