处理angularJS中的多个异步发布请求

时间:2018-01-03 07:55:24

标签: javascript angularjs asynchronous

这是一种情况..我们有一个UI,您可以在其中选择要在vm上安装的产品,因此我们最初使用JavaScript对象数组发送有效负载,其中每个对象都包含有关产品的信息。一旦完成所有产品的安装,我们就会收到响应。但现在我们正在改变这个过程。首先,选择要在VM上安装的所有产品,一旦开始安装,就会安装逐个产品,您可以在UI上查看实时状态,例如哪个产品正在进行中,哪些产品已完成安装以及所有产品是什么剩余。

在技术语言中..使用角度服务我们用来发送对象数组,其中所有产品安装成功我们用来获得响应,但是任何一个的失败都难以跟踪所有安装完成的内容和哪些还剩下因此,为了简化此过程,我们决定逐个发送产品以进行安装,并在屏幕上显示相应的成功/失败状态。我面临的挑战是我如何能够一个接一个地对阵列中存在的每个对象进行异步调用。

2 个答案:

答案 0 :(得分:0)

您可以尝试循环遍历一系列产品信息,并且每次都成功调用install product函数:

-Os

此代码未经测试,但无论如何它应该只是一个想法。

答案 1 :(得分:0)

尝试使用带有这样的标志的递归:

假设myArray是数据数组。

var myflag = 0;

function myFunction(){

 if(myFlag <= myArray.length -1){

   var dataToSend = myArray[myFlag];

     $http.post('URL', dataToSend).then(
       function success(response){
        myFlag++;
        myFunction();
       }
     );

   }

}