Я пытаюсь написать услугу angularJS для длительного опроса в моем приложении, используя $ http.Письмо angularJS poller
Вот мой код:
app.factory('Poller', function($http, $timeout){
var poll = function(http, tick){
http.then(function(r){
$timeout(poll, tick);
return r.data;
});
};
return{
poll: poll
};
});
Основная идея была бы внедрить эту услугу, когда мне нужен опрос на $ HTTP вызова. Я использую его внутри контроллера:
app.controller('myCtrl', function($scope, $http, Poller){
$scope.polledVar = Poller.poll($http.get('api/getVar'), 1000);
});
При использовании этого кода я получаю следующее сообщение об ошибке:
TypeError: Cannot call method 'then' of undefined
Будут ли способ передать $ scope.polledVar к Poller так, чтобы она обновляет его каждый клещ? – Lukmo
вы имеете в виду, как setInterval? http://stackoverflow.com/questions/14237070/using-setinterval-in-angularjs-factory – Whisher
Проблема заключалась в передаче данных из службы в $ scope контроллера, но вместо этого я использовал $ rootScope. – Lukmo