【发布时间】:2014-09-14 00:31:25
【问题描述】:
这是我同时获取一些主干集合的代码:
$.when.apply(this, _.map(collection_params_pairs, function(pair) {
pair.collection.fetch({
data: pair.params,
success: function(collection, response) {
console.log('success');
}
});
})).done(function() {
console.log('done');
});
当我运行它时,done 在success 之前登录到控制台。我做错了什么?
【问题讨论】:
-
您的
_.map返回什么?我看到它返回了一个undefined的数组,因此无需等待when。 -
啊,周五晚上很难集中注意力。谢谢!
-
似乎没有人告诉你你需要真正改变什么。在你的
.map()回调中,你需要返回一个$.when()可以操作的promise。就像现在一样,您没有向$.when()传递任何承诺,因此无需等待。
标签: javascript jquery backbone.js promise jquery-deferred