我试图保存几个 Backbone.js 模型(不在集合中),并在它们都保存后执行代码。
这是我的代码简化:
var requestsArray = modelsArray.map(function(model) {
return model.save();
});
$.when.apply(undefined, requestsArray)
.done(function() {
console.log('DONE CALLBACK');
console.log('ARGS', arguments);
})
.fail(function() {
console.log('FAILED');
console.log('ARGS', arguments);
});
但是当我运行这个命令时,done
回调会立即被触发,它不会等待 AJAX 请求完成。
为什么会这样呢?
1条答案
按热度按时间eni9jsuy1#
它不会直接发生在请求中:(
我只好这样做:
当所有操作都成功时,
$.when
的done
方法将被调用。