我试图在服务中存储API响应,以便我可以在我的视图中访问它。在服务中存储API响应
以下是我的服务中的功能。它通过我的控制器访问时可以完美工作,但我只想运行一次此API调用,然后将结果存储在服务单例中。我正在使用https://oauth.io/docs/api-reference/client/javascript的Javascript API来访问用户信息。
getUser: function() {
var deferred = $q.defer();
var promise = authorizationResult.me().done(function(user_info) {
username = user_info.alias // username is defined outside of function
deferred.resolve(user_info);
});
return deferred.promise;
}
,然后我有存储功能:
storeUser: function() {
return username;
},
我已经玩了,在我的最新尝试,我试图通过另一家工厂调用的getUser()方法。重要的部分是我只想调用getUser()一次。然后在我的控制器中,我想依靠storeUser()来访问我需要的数据。
这是当前的getUser在我的控制器()调用:
twitterService.getUser().then(function(data){ // I need to change this to storeUser()
$scope.datapls(data.alias);
});
谢谢!我感谢任何和所有的帮助。