qq_39877370 2017-09-19 06:12 采纳率: 25%
浏览 16928
已结题

jQuery for循环进行了异步请求,怎么让它每一次循环完全执行完毕之后再执行下一个循环

for(var i = 0 ; i < arr.length ; i++){
jQuery.get(arr[i],function(data){
var reg = /"(.*?)"/g
var str1 = "";
data.replace(reg,function($1){
str1 += $1.slice(1,-1);
})

            console.log(str1);
        })
    }
这样子怎样才能让每次循环执行完毕之后才去执行下一次循环呢
  • 写回答

7条回答

  • /*----无忧----*/ 2017-09-19 09:28
    关注

    不要用for循环写 用函数的回调来写这个循环
    参考一下这个函数的调用方式

     <script>
        var i=0;
        run();
        function run(){
            console.log('这是第'+i+'次循环------------------------');
            console.log('在这做什么事情,比如你的ajax请求');
            console.log('请求回来了,数据有了,处理中...');
            console.log('接下来判断是否要进行下一次循环');
            if(i<10){
                i++;
                run();
            }else{
                console.log('循环完事了!');
            }
        }
    </script>
    
    评论

报告相同问题?

悬赏问题

  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler