gpt4 book ai didi

javascript - 如何确保 $http 请求在循环内按顺序执行

转载 作者:行者123 更新时间:2023-11-29 23:41:37 24 4
gpt4 key购买 nike

<分区>

我需要发出 ajax 链请求。

function _GetCustomerDetails() {
//Customer
for (var i = 0; i < 5; i++) {
dataService.get(sData, 'Customer').then(function(data) {
if (data.entity === "Customer" && data.rows != undefined && data.rows.length > 0) {
var len = data.rows.length;
for (var i = 0; i < len; i++) {
if (data.rows[i] != undefined) {
//load related entity
dataService.get(data.CustomerId, 'CustomerRelatedEntity').then(function(data) {
});
}
}
}
});
}
}

但是,客户数据加载正常,但嵌套的相关实体加载不正确。它用最后一个填充所有数据。(即,索引 =4 处的客户)

这就是我的数据服务的样子。

 angular
.module('app')
.service('dataService', dataService);

dataService.$inject = ['$http', '$q'];

function dataService($http, $q) {
var service = {
get: _get,

}
return service;

function _get(data, tableName) {
var deferred = $q.defer();
var url = "API_Url";
return $http({
method: 'GET',
url: url,

})
.then(success)
.catch(exception);

function success(response) {
deferred.resolve(response.data);
return deferred.promise;
}

function exception(ex) {
deferred.reject(response);
return deferred.promise;
}

}

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com