AJAX在数组循环中调用,只在上一次完成后调用next
AJAX call in array loop, call next only after previous complete
我有一个数组要上传数据,我希望它们一个接一个地发送到服务器。我想在发送下一个之前完成上一个。事实上,每次回复后,我都想决定是否发送下一个。
while (packetCount < bulkUploadPackets.length) {
d = d.then(save(bulkUploadPackets[packetCount]))
.then(function(uploadResponse) {
//I want to come here after first call complete
//before second call is fired and so on
packetCount++;
});
}
save: function(modelToSave) {
var defer = $.Deferred();
var self = this;
this.model = modelToSave;
Backbone.sync('create', this, {
success: function(data, textStatus, jqXHR) {
console.log("success" + data);
defer.resolve(data);
},
error: function(response) {
defer.reject(errorObj);
}
});
return defer.promise();
}
您可以使用递归函数并在其中放入递归调用:
(function loop() {
if (packetCount<bulkUploadPackets.length) {
d = d.then(save(bulkUploadPackets[packetCount]))
.then(function(uploadResponse){
//I want to come here after first call complete before second call is fired and so on
packetCount++;
loop();
});
}
})();
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何从Java/scala调用js美化程序
- 如何调用这个匿名 JavaScript 函数
- 如何从模块链中调用函数.导出到节点中
- AJAX在数组循环中调用,只在上一次完成后调用next
- 带有next()调用的生成器函数
- Don'在IE中调用find next时,不要高亮显示Codemirror中的光标
- 护照.js身份验证成功,未调用 next()
- 路由调度从未呈现.您是否忘记在onBeforeAction中调用this.next()
- 如果在已经是最后一个元素上调用jQuery.next方法,那么它会返回什么
- 为什么我不需要在Sails.js控制器函数中调用next,即使它在其主体中有一个(异步的?)数据库查询
- ExpressJS链承诺多次调用next()函数
- Express.js:从路由处理程序中调用next(error)会调用全局错误处理中间件吗?
- Angular 2的Array Subject .next()不会调用其他组件的观察者
- 第一个next()调用的参数所在的位置
- Node.js Express -代理请求后调用next()
- 表达,Nodejs:如何调用'next()'只有在创建了模式之后
- 使用ajax调用时如何实现next/back函数
- Fullcalender next和previous在MVC4中进行更多的函数调用