gpt4 book ai didi

javascript - AngularJS 多个 http 请求

转载 作者:行者123 更新时间:2023-12-02 16:44:51 26 4
gpt4 key购买 nike

我通过多个步骤使用 RESTful 服务。

首先,我发送 GET 请求并接收 URI 列表,然后在 for-each 循环中遵循该列表以进行第二个 REST 调用。

var deferred = $q.defer();
var results = [];

APICall.getAllObjects(id).then(function(data){
angular.forEach(data.data, function( value, key){
APICall.getIndiviualObject(value).then(function(result)
{
results.push(result); //put Indiviual Objects in Array
deferred.resolve({objects: result});
});
});
});

return deferred.promise;

不幸的是,即使返回多个对象,这也仅返回单个元素。我不知道如何解决这个问题 - 授予的 promise 对我来说相对较新......

关于如何使其成为正确的异步调用有什么想法吗?

最佳答案

我会尝试这个。收集所有的 promise ,然后等待它们全部完成。

var deferred = $q.defer();
var results = [];

APICall.getAllObjects(id).then(function(data){
var promises = [];

angular.forEach(data.data, function( value, key){
promises.push(APICall.getIndiviualObject(value).$promise);
});

$q.all(promises).then(function(results) {
// here you should have all your Individual Object list in `results`
deferred.resolve({objects: results});
});
});

return deferred.promise;

让我知道它是否有效:)

关于javascript - AngularJS 多个 http 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27189584/

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