我試圖在服務中存儲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);
});
謝謝!我感謝任何和所有的幫助。