很抱歉,但我對AngularJS新的,我不明白這種行爲......廠返回undefined所有的時間
我試圖用一個工廠,但我總是得到一個未定義的響應它...
所以,我有一個叫pollsData的工廠,這個工廠是在AddDataPollController控制器裏注入的,我使用的是工廠的getPoll方法,注意我打印什麼是從工廠函數返回的...
.controller('AddDataPollController', ['$scope', 'Restangular', '$state', '$stateParams', 'pollsData', // factory
function($scope, Restangular, $state, $stateParams, pollsData) {
console.log(pollsData.getPoll());
.
.
.
然後,在getPoll方法中,我製作了一個Restangul ar請求獲得id爲192的輪詢,在這個相同的函數中,我打印從重新發送的請求返回的內容。
.factory('pollsData', ['Restangular', '$state', '$stateParams',
function(Restangular, $state, $stateParams) {
var data = {
polls: []
};
data.getPoll = function() {
Restangular.one('polls', 192).get().then(function(poll) {
console.log(poll);
angular.copy(poll, data.polls);
return poll;
});
};
return data;
}])
現在我不明白的是,當我打印從工廠的迴應,我看到正確的數據,但是當我嘗試從控制器打印什麼,我得到它只是顯示單詞定義,不應該在兩種情況下都打印同一個對象嗎?
因爲當你登錄運行的要求仍在處理中。它是**異步** – tymeJV