【问题标题】:how to check multiple responses simultanously如何同时检查多个响应
【发布时间】:2017-06-17 03:39:07
【问题描述】:
$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 堆栈进行开发。

【问题讨论】:

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


    【解决方案1】:

    您可以从 Angular 使用 $q 服务

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

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

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

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

     $q.all(request).then(function (response) {
    
    }, function (error) {
    
    });
    

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

    【讨论】:

    • 谢谢@GhazanfarKhan 这正是我想要的。
    猜你喜欢
    • 2016-10-31
    • 2017-09-20
    • 2022-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-02
    相关资源
    最近更新 更多