$http を使用して、アプリケーションでロング ポーリング用の angularJS サービスを作成しようとしています。
これが私のコードです:
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