2017-04-19 99 views
1

有沒有一種可能的方式讓我爲客戶端設置一個定時器來定期向服務器自動發出請求?設置計時器對於HTTP請求

例如

Polling(){ 

this.http.makeRequestEvery1min(){ 

subscribe(data => { 

) 
} 
//request should be every sent every 1 minute 

} 

回答

1
Rx.Observable.interval(60*1000). 
    switchMap(x=> http.getSomething()) 
    .subscribe(x=>console.log(x)) 
+0

這是最簡單的方法。例如, – Thibs

0

您可以使用內部ngOnInit JavaScript的setInterval函數。

的setInterval(函數(){// 做一些事情},3000)

0

你必須使用間隔功能。

.controller 
('sampleController',['$scope','$interval', function ($scope, $interval) { 


     function Polling(){ 

      //Write your http request here. 
     } 


var interval = 1000; //in milliseconds 

var intervalPromise = $interval(polling, 1000); 


//To Kill the interval function on page closure or route change 

$scope.$on('$destroy', function() { 
     if (angular.isDefined(intervalPromise)) { 
      $interval.cancel(intervalPromise); 
     } 
    }); 

}]); 
+1

有看這個stackoverflow帖子。 http://stackoverflow.com/questions/35316583/angular2-http-at-an-interval – Kalyan