知道如何确保Collection在通过Fetch调用返回Promise之前通过Parse函数运行了响应吗? 即。
var colsComplete = _.invoke(cols, 'fetch'); // cols is an array of collections
$.when(colsComplete).then(callback); // this runs before the Parse function has been hit!
答案 0 :(得分:1)
_.invoke(cols, 'fetch')
返回一个promises数组,然后将其传递给$.when
,这会对单个参数作出反应
如果单个参数传递给
jQuery.when
并且它不是延迟或承诺,则它将被视为已解决的延迟,并且任何doneCallbacks
附加将立即执行。
您可能想要做的是apply your array as a list of arguments:
$.when.apply(null, colsComplete).then(callback);
答案 1 :(得分:0)
你可以尝试
_.each(cols, function(collection){
collection.fetch({
success: callback
});
});
它要长一点但它应该有效。