javascript - 求教关于For循环中执行ajax请求的问题

查看:118
本文介绍了javascript - 求教关于For循环中执行ajax请求的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

var result = [];
for(var i = 0 ; i < result.length; i++){

  send(result[i]);
  //如何保证在第一条数据发送成功后再继续循环发送下一条数据呢?(不用jQuery)

}

function send(obj){

 $http({
    method: "POST",
    url: "url",
    data: postdata,
    timeout: 1000
    })
    .success(function(data) {
       
    })
    .error(function(data) {
      
    })
    .finally(function() {
       
    });

}

解决方案

function send(obj) {
 if (obj > result.length) return false;
 $http({
    method: "POST",
    url: "url",
    data: postdata,
    timeout: 1000
    })
    .success(function(data) {
       obj++;
       send(obj);
    })
    .error(function(data) {
      
    })
    .finally(function() {
       
    });
}
send(0);

var Request = (i) => {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
           console.log(i)
           resolve(i+"完成")
        }, 1000)
    })
}
Request(1)
.then((s) => Request(2))
.then((s) => Request(3))
.then((s) => Request(4))

这篇关于javascript - 求教关于For循环中执行ajax请求的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆