1

知道如何确保 Collection 在 Fetch 调用中返回 Promise 之前通过 Parse 函数运行响应吗?IE。

var colsComplete = _.invoke(cols, 'fetch'); // cols is an array of collections
$.when(colsComplete).then(callback); // this runs before the Parse function has been hit!
4

2 回答 2

1

_.invoke(cols, 'fetch')返回一个 promise 数组,然后将它传递给$.when它对单个参数做出反应,因为 this

如果传递给单个参数jQuery.when并且它不是 Deferred 或 Promise,它将被视为已解决的 Deferred,并且任何doneCallbacks附加的都将立即执行。

您可能想要做的是将您的数组作为参数列表应用

$.when.apply(null, colsComplete).then(callback);
于 2013-09-30T12:47:06.403 回答
0

你可以试试

_.each(cols, function(collection){
    collection.fetch({
        success: callback
    });
});

它有点长,但它应该工作。

于 2013-09-30T12:44:08.810 回答