为了账号安全,请及时绑定邮箱和手机立即绑定

在 Javascript 中发出顺序 POST 请求的最佳方法

在 Javascript 中发出顺序 POST 请求的最佳方法

神不在的星期二 2021-12-12 16:10:06
所以我有一个数组,其中包含需要作为需要发出的 POST 请求的有效负载的一部分发送的数据。现在,这些需要按顺序进行,因为我需要显示特定的有效载荷,然后是结果(结果是使用有效载荷发出 POST 请求后返回的响应),然后是下一个有效载荷,然后是下一个结果和等等,在我的页面上。我只是想知道实现这一目标的最佳方法是什么。所以这就是我目前的处理方式:for (var i = 0; i < quotesList.length; i++) {var response = $.ajax({      type: "POST",      url: url,      data: JSON.stringify(quotesList[i]),      success: add_to_page,      },      timeout: 300000,      error: function(){            console.log("Some Error!")        },      contentType: "application/json"})显然,这里出现的问题是无法保证正确获得该序列,而且我不太确定如何准确跟踪有效负载,因为尝试将其添加为成功功能的一部分只会得到我最后一个元素(大概是最后一个被触发的请求)
查看完整描述

1 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

您可以尝试以下操作。


let quotesListIndex = 0;

function sendAjaxCall() {

  if (quotesListIndex < quotesList.length) {

    var response = $.ajax({

      type: "POST",

      url: url,

      data: JSON.stringify(quotesList[quotesListIndex++]),

      success: function () {

        //... Add code here


        sendAjaxCall();     // Call the function again for next request      


      },

      timeout: 300000,

      error: function () {

        console.log("Some Error!")

      },

      contentType: "application/json"

    })

  } else {

    return;

  }

}

添加一个全局变量来跟踪索引。并递归调用函数。一旦索引达到数组大小,然后从函数返回。


查看完整回答
反对 回复 2021-12-12
  • 1 回答
  • 0 关注
  • 337 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信