gpt4 book ai didi

javascript - 使用 Angularjs 链接异步 AJAX 调用

转载 作者:行者123 更新时间:2023-12-03 07:54:00 28 4
gpt4 key购买 nike

我正在使用 Angularjs,并且我已经使用多个返回 Promise 的函数来提供此服务。

我的 AJAX 服务:

angular.module('yoApp')
.factory('serviceAjax', function serviceAjax($http) {
return{

configDataSets:function(path){

return $http.get(path);

},
fileList: function(site_url,dataSet,varName,region,date){
return $http.get(site_url + "mwf/" + dataSet + "/" +varName + "/" + region + "/" + date + "/filelist/");
},
config: function(site_url,dataSet){
return $http.get(site_url + "mwf/" + dataSet + "/config/");
},

}});

Controller 代码

我已经做过类似的事情,但由于我可能有更多的请求被链接,我认为这不是最好的方法:

serviceAjax.config(site_url,$scope.dataset).then function(data){
$scope.config=data.data;
serviceAjax.configDataSets("images/configDatasets.json").then(function(data){

$scope.configDatasets = data.data;

});
});

我想要做的是首先调用我的 Controller config ,然后等待它完成,然后调用 configDataSets 。最好的方法是什么,我尝试查看 $q 并有不同意见,但我似乎不知道该怎么做。任何帮助都会很棒!

最佳答案

只需使用 Promise 公开的 .then 方法:

serviceAjax.config(function(response) {
// use response.data from first call
...
}).then(function() {
return serviceAjax.configDataSets("images/configDatasets.json");
}).then(function(response) {
// use response.data from second call
...
});

此外,如果您的 HTTP 服务遵循典型的 RESTful 用法,请考虑使用 $resource 而不是 $http

关于javascript - 使用 Angularjs 链接异步 AJAX 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34875177/

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