gpt4 book ai didi

javascript - AngularJS Promises 和 $http.get

转载 作者:可可西里 更新时间:2023-11-01 17:27:58 25 4
gpt4 key购买 nike

我正在尝试使用 $q.defer、$q.all 和 promises 来等待 http 请求列表

我使用这段代码调用 $q.all

$q.all(promises).then(function(data) {
console.log('All promises have resolved', data);

var retVal = Utils.DoStep2();
console.log(retVal);
});

这个函数从来没有被调用过,尽管我检查过并且 $http.get 被调用了所有的值。

            var deferred = $q.defer(); 
$http.get(requestUrl).
then(function (data) {
var p = {
data: data,
name: name
};
pData.push(p);
deferred.resolve(p);
return p;
})
.catch(function (status) {
deferred.reject(status);
});

promisesList.push(deferred.promise);

我在 DoStep2 上打印 pData 的长度以及使用 console.log 的 pData我得到的是 0 的长度和看起来像 0 个对象,但是当我打开它时,看起来所有对象都在 $http.get 调用中为每个特定调用初始化,这让我确定 $http.get 响应收到,这是一个有效的回应。

此外 $all 根本没有被调用,这可能是错误的吗?

感谢您的帮助

最佳答案

OK 设法修复它我使用了服务函数 getService() 并且这个函数返回了 promise 然后在每次调用中我添加了 getService() promise 返回到 promisesList 这个列表我等待使用 $all 并且它有效非常感谢您的帮助。

关于javascript - AngularJS Promises 和 $http.get,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43161924/

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