gpt4 book ai didi

javascript - AngularJS - 在整个应用程序中访问 promise 数据

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

我有一个发出 http get 请求的工厂:

grey.factory('JiraData', function( $http ) {
return {
async: function( ) {
return $http.get( 'js/testdata.json' )
.then( function( result ) {
return result.data;
});
}
};
});

我想在我的应用程序中的各种 Controller 和指令中使用上面返回的数据。做这个的最好方式是什么?我可以在本地/ session 存储或根范围内存储和操作数据吗?如果是这样,最好的方法是什么?

最佳答案

如果您正在询问一种调用 http.get 函数的方法,只有一个错误多次访问数据,一种方法是将 promise 保存在一个变量上。

grey.factory('JiraData', function( $http ) {
var promise;

return {
async: function( ) {
if(!promise) {
promise = $http.get( 'js/testdata.json' )
.then( function( result ) {
return result.data;
});

}
return promise;
}
};
});

然后你可以像这样使用它:

grey.controller('ACtrl', function( Jiradata ) {
JiraData.async().then(function(returnData) {
//your code
});
}

这样http请求只调用一次

关于javascript - AngularJS - 在整个应用程序中访问 promise 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26329229/

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