Jquery 主干错误处理获取多个集合
我正在使用undescore的invoke方法获取主干中的多个集合Jquery 主干错误处理获取多个集合,jquery,backbone.js,Jquery,Backbone.js,我正在使用undescore的invoke方法获取主干中的多个集合 var cols = [kf.Collections.invoices, kf.Collections.quotes, kf.Collections.bankaccounts, kf.Collections.invoicepaymentmethods]; var colsComplete = _.invoke(cols, 'fetch'); $.when.apply(null, colsComplete).then(callb
var cols = [kf.Collections.invoices, kf.Collections.quotes, kf.Collections.bankaccounts, kf.Collections.invoicepaymentmethods];
var colsComplete = _.invoke(cols, 'fetch');
$.when.apply(null, colsComplete).then(callback);
我面临的问题是,即使由于API错误导致对特定集合的提取失败,它也会恢复对剩余集合的提取
如果我的API返回“UnAuthorized 401”,是否有任何方法可以停止提取其他集合?可以使用相同下划线的
invoke
方法来中止失败回调中的所有承诺,从而实现最快和最简单的问题解决方案:
var cols = [kf.Collections.invoices, kf.Collections.quotes, kf.Collections.bankaccounts, kf.Collections.invoicepaymentmethods];
var colsComplete = _.invoke(cols, 'fetch');
$.when.apply(null, colsComplete).then(doneCallback, function () {
_.invoke(colsComplete, 'abort');
});
这将对所有承诺调用abort方法。但我想您不需要对已经失败的承诺或已经完成的请求调用abort
方法
在这种情况下,只需检查promise对象的readyState
,并根据readyState
值中止它