如何在ajax完成后执行第二次循环迭代
how to execute second loop iteration after ajax done
如何延迟循环,直到函数"some_multi_ax_function()"更改全局变量(exe_counter将为0)?
for (i = 0; i < some_data_list.length; i++) {
exe_counter=1;
if(i>0 && exe_counter != 0){
delay{
// delay for loop until some_multi_ajax_function() set exe_counter = 0
// do not execute second iteration
}
}else{
data = some_data_list[i];
// Many ajax posts will be executed here. In the end exe_counter will be set to 0;
some_multi_ajax_function(data);
}
}
function some_multi_ajax_function(data){
$.ajax({
...
}.done(function(d) {
// here it could be used another ajax function
exe_counter = 0;
});
}
您使用错误的解决方案来解决问题。
如果您想等待Ajax操作,则必须仅使用回调。
然后递归地你应该做:
function some_multi_ajax_function(data, i) {
$.ajax({
...
}.done(function(d) {
if (i < data.length) {
some_multi_ajax_function(data, i + 1);
} else {
// Do something in the end
}
});
}
some_multi_ajax_function(some_data_list, 0);
相关文章:
- Javascript Select OnChange没有'不要第二次工作
- 相同的RegExp返回不同的结果-第一次是正确的结果,第二次是null
- 单击仅在第二次单击后有效
- 第二次单击时执行不同的代码(JavaScript)
- 如何在ajax完成后执行第二次循环迭代
- 如何在第二次点击时执行操作
- Javascript 在第一次完成之前执行第二行代码
- 函数在点击后第二次未执行
- 如果脚本在第一次尝试时失败,请第二次执行脚本
- 当第二次按下按钮时,该功能不会执行
- 防止第二次执行,直到第一次执行在jquery中结束
- Javascript函数第二次执行
- Javascript函数只在第二次悬停后执行
- Javascript函数在第二次点击时执行
- Jquery .load执行第一次加载,而不是第二次加载
- 使用Snap.svg在第二次点击时执行某些操作
- 我可以在第二次触发事件时执行一组不同的代码吗
- JavaScript RegExp测试方法工作不稳定,我的意思是第一次执行和第二次执行的结果不同
- 隐藏第一个窗体,然后显示第二个窗体.Secnd表单执行多次提交
- 函数中的 Jcrop 未第二次执行