3
我有這個service
它檢查是否有來自後端的新數據。它工作正常。但問題是我不能從服務的數據使用$watch
或使用promise
控制器。AngularJs如何從投票服務中獲取數據到控制器
SERVICE
.service('notificationPollService',function($q, $http, $timeout){
var notification={};
notification.poller = function(){
return $http.get('some/routes/')
.then(function(response) {
$timeout(notification.poller, 1000);
if (typeof response.data === 'object') {
return response.data;
} else {
return $q.reject(response.data);
}
}, function(response) {
$timeout(notification.poller, 5000);
return $q.reject(response.data);
});
}
notification.poller();
return notification;
})
WATCH在控制器
$scope.$watch('notificationPollService.poller()', function(newVal){
console.log('NEW NOT', response) // does nothing either.
}, true);
PROMISE在控制器
notificationPollService.poller().then(function(response){
console.log("NEW NOTI", response) // not logging every poll success.
});
我錯過了如何解決這個問題嗎?或者我只是做錯了什麼?
你是嚮導嗎?謝謝;) – CENT1PEDE
我得到錯誤「回調不是一個函數」,我該如何解決這個問題? – ste
傳遞迴調函數。 – dfsq