gpt4 book ai didi

javascript - AngularJS 多次处理调用 promise

转载 作者:行者123 更新时间:2023-11-30 07:56:33 25 4
gpt4 key购买 nike

我有一项服务必须返回给我的国家列表。但我想将国家/地区值缓存到一个变量中以防止多次 ajax 调用。我创建了一个 promise 对象,但我的 html 必须多次调用此服务。当我调用该服务时,有时它会在从缓存返回之后第一次从 ajax 返回,有时它会在该缓存之后从 ajax 重新运行 3 次。我该如何处理?

这是我的服务:

var vm = this;
vm.countries;

vm.getCountries = function () {
var q = $q.defer();
if (vm.countries === undefined) {
return $http({
method: 'POST',
cache: true,
url: API + '/api/Global/Countries',
}).then(function successCallback(response) {
if (errorHandler(response.data)) {
vm.countries = response.data;
q.resolve(response.data)
console.log("ajax")
return q.promise;
}
});
} else {
console.log("cache")
q.resolve(vm.countries)
return q.promise;
}
}

最佳答案

在任何情况下都返回 q.promise

vm.getCountries = function () {
var q = $q.defer();
if (vm.countries === undefined) {
return $http({
method: 'POST',
cache: true,
url: API + '/api/Global/Countries',
}).then(function successCallback(response) {
if (errorHandler(response.data)) {
vm.countries = response.data;
q.resolve(response.data)
console.log("ajax")

}
});
} else {
console.log("cache")
q.resolve(vm.countries)
}

return q.promise;
}

关于javascript - AngularJS 多次处理调用 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38303136/

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