2017-02-25 71 views
3

我有以下角2服務所獲取每5秒的數據:使用間隔時,如何立即啓動角2可觀察

import { Observable } from "rxjs/Rx"; 
import { Http, Response } from '@angular/http'; 


@Injectable() 
export class DataService{ 
    getData():{ 
    return Observable 
     .interval(5000) 
     .flatMap(() => this.http.get('http://some_url')) 
     .map((res: Response) => res.json()) 
    } 

有沒有辦法讓這個業務執行的請求開始?否則,它會在第一次執行之前等待5秒鐘。

回答

3

更換intervaltimer,因爲它允許你指定一個初始延遲:

getData():{ 
    return Observable 
    .timer(0, 5000) 
    .flatMap(() => this.http.get('http://some_url')) 
    .map((res: Response) => res.json()) 
}