在迭代angularjs期间处理rest API

时间:2017-10-13 12:43:12

标签: javascript angularjs http restangular

如何处理来自给定fiddler的代码片段。

for (var i = 0; i < carList.length; i++) {
    $http.get("accesoriesList.htm").then(function(accesories) {
      $scope.accesoriesList.push({"id": carId, "name": carName, "accesories" : accesories});
}

的Fiddler https://jsfiddle.net/gsk/euuhsowu/

我正在尝试获取汽车配件清单。 但我有不同的问题:

  1. 休息电话是异步拨打的,并没有将配件设置到各自的汽车项目
  2. 我希望根据汽车项目设置配件,因为其余的API在迭代中被激活,但我只得到一个设置为所有配件的响应。
  3. Rest API在迭代中被触发,所以我希望得到carList.length响应而不是一个响应。

1 个答案:

答案 0 :(得分:0)

你应该始终认为异步。 顺序异步调用应该放在之前的回调函数中。

所以第二个API调用(SELECT s.item_id, COUNT(t.item_ID) AS quantity FROM (SELECT DISTINCT item_ID FROM table) s LEFT JOIN table t ON s.item_ID = t.item_id AND t.status = 'available' GROUP BY s.item_id ORDER BY s.item_id; )应该在第一个回调中:

accesoriesList.htm

也许它只是一个例子,但我认为第二次调用应该有一些路由规则来接收carId ......