如何同时检查多个回复

时间:2017-06-16 19:30:42

标签: angularjs node.js mongodb express mean-stack

$scope.placeOrder = function() {

var callbackBalance = apiService.updateBalance($scope.order);

callbackBalance.then(function(data) {

    if(data.data.success) {

      var callback = apiService.createOrder($scope.order);
      callback.then(function(data){
            if(data.data.success)
            {
              localStorageService.cookie.clearAll();
              alert("Order Placed  Successfully");
              $state.go("createOrder");
            }
            else
              alert('Sorry! Cannot place order');
      });

    }
    else
       {
         alert('Cannot update company balance')
      }

  });

这是一个为公司下订单并根据订单总数更新其余额的代码。代码工作正常但是根据此代码首先调用余额API,一旦其响应成功,将调用API然后,我们如何检查两者是否成功,然后只更新数据库以获得余额和订单。现在可以为公司更新余额,但由于某种原因没有下订单。 我正在使用MEAN堆栈进行开发。

1 个答案:

答案 0 :(得分:1)

您可以使用角度

中的$ q服务
  

一种帮助您异步运行函数并使用它们的服务   完成处理后返回值(或例外)。您可以   创建一个像这样的请求对象

您可以创建请求数组并将其传递给$ a.all函数。

var request = [apiService.updateBalance($scope.order), apiService.createOrder($scope.order)]

并使用 $ q.all 函数同时获取提供的请求

 $q.all(request).then(function (response) {

}, function (error) {

});

将同时获取请求数据。确保将$ q添加为依赖项。