gpt4 book ai didi

javascript - 在解决任何子 Promise 之前,先解决组合 Promise

转载 作者:行者123 更新时间:2023-12-02 16:11:03 25 4
gpt4 key购买 nike

我正在使用 AngularJS 及其 $q

我编写了一个服务如下:

Get.$inject = ['$q', '$http'];
function Get($q, $http) {
return {
get: function(url) {
var deferred = $q.defer();

$http.get(url + '?' + Math.random()).success(function(data) {
alert('Got data: ' + JSON.stringify(data));
deferred.resolve(data);
});

return deferred.promise;
}
}
}

并像这样使用它

$q.all(Get.get('backend/index.php/poster/pull'), Get.get('data/poster_past.json')).then(
function(NewAndOldPosters) {
alert("Old and New: " + JSON.stringify(NewAndOldPosters));
}
);

但在收到实际数据警报 之前,我收到了一条警报:“旧与新:{"$$state":{"status":0}}"获取数据:……”$q.all 无法按预期工作,怎么会发生这种情况?

最佳答案

将你的 promise 包装在一个数组中:

[Get.get('backend/index.php/poster/pull'),Get.get('data/poster_past.json')]

关于javascript - 在解决任何子 Promise 之前,先解决组合 Promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30205192/

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