I am trying to call my API every second. I don't know how to do.
For call on time is ok :
loadRequest(payload: any): Observable<RequestTask[]> {
const headers = new Headers({'Authorization': localStorage.getItem('authorizationToken')});
const options = new RequestOptions({headers: headers});
const requestId = payload;
const url = '/api/requests/'+ requestId +'/events'
return this.http
.get(url, options)
.map(response => {
const requests = response.json();
console.log("Request API", requests)
return requests.map(request => {
return new RequestTask(request)
});
})
.catch(this.handleError);
}
My test for call every second
loadRequest(payload: any): Observable<RequestTask[]> {
const headers = new Headers({'Authorization': localStorage.getItem('authorizationToken')});
const options = new RequestOptions({headers: headers});
const requestId = payload;
const url = '/api/requests/'+ requestId +'/events'
return Observable.interval(500)
.flatMap(()=> {
return this.http
.get(url, options)
.map(response => {
const request = response.json();
return request.map(request => {
return new RequestTask(request)
});
}).catch(this.handleError);
})
}
I think my error come from Observable but I don't see how solve it