【问题标题】:Angular js $http.put call with multiple ID's(urls) with more than one id is not workingAngular js $http.put 调用具有多个 ID(网址)且多个 ID 不起作用
【发布时间】:2017-03-22 08:43:06
【问题描述】:

我有一个 api 'rest/latest/testruns/16543558' id 是测试运行的 id。我想一次更新具有不同 ID 的呼叫。我试过$promise.all()。如果我给出一个单独的 ID,它工作正常,但如果我给出多个 id,它的给出错误

使用单一 ID 工作正常:

var ids = ['16611544']; //'16611345','16611347'

$scope.updateTestRun = function(data) {
    data.showedit = true;
    $scope.label = 'Save';

    var updateform = {};
    var updateArr = [];
    for (var i = 0; i < data.length; i++) {
      var testrunid = data[i].data.data.id;
      var updatedata = data[i].data.data.fields;
      updateform['fields'] = data[i].data.data.fields;
      updateform.fields['duration'] = 1000;
      delete updateform.fields['executionDate'];

      for (var j = 0; j < data[i].data.data.fields.testRunSteps.length; j++)   {  
        data[i].data.data.fields.testRunSteps[j].status = data[i].data.data.fields.testRunStatus;
      }


      updateArr.push($http.put("rest/latest/testruns/" + testrunid, updateform))
      j = 0;
      $scope.loader = true;
   }
}

【问题讨论】:

  • ids 在哪里使用?

标签: angularjs api promise


【解决方案1】:

你可以使用$q.all一次发送多个请求

var fullArray = [];

for (var i = 0; i < data.length; i++) {
    var testrunid = data[i].data.data.id;
    var updatedata = data[i].data.data.fields;
    updateform['fields'] = data[i].data.data.fields;
    updateform.fields['duration'] = 1000;
    delete updateform.fields['executionDate'];
    for (var j = 0; j < data[i].data.data.fields.testRunSteps.length; j++) {
        data[i].data.data.fields.testRunSteps[j].status = data[i].data.data.fields.testRunStatus;
    }
    j = 0;
    $scope.loader = true;
    // push all request to array 

    fullArray.push($http.put("rest/latest/testruns/" + testrunid, updateform))
}
$q.all(fullArray).then(function(values) {
    //resoponse
}); 

【讨论】:

  • 我只试过这个。如果我给一个 id 它的工作正常。如果它不止一个不更新@sachila ranawaka
  • cosole fullArray before q,all 并检查 ids
猜你喜欢
  • 1970-01-01
  • 2020-07-14
  • 2013-12-13
  • 1970-01-01
  • 1970-01-01
  • 2019-02-24
  • 1970-01-01
  • 2020-09-09
  • 2021-08-09
相关资源
最近更新 更多