2016-08-04 81 views
0

我在angular2中創建observable。如何使角度2更新後的時間間隔觀察?

我想創建一個observable,它會在2秒後更新這個值。到目前爲止,我已經創建了這樣的東西。

import { Component, OnInit } from '@angular/core'; 
import {Observable} from 'rxjs/observable'; 
import 'rxjs/Rx'; 
@Component({ 
    moduleId: module.id, 
    selector: 'observable-demo', 
    templateUrl: 'observabe-demo.component.html', 
}) 
export class ObservabeDemoComponent implements OnInit { 
    public data:any; 
    public num:number; 
    constructor() { 

    //I want to update this observable value with fibonacci series after 2 seconds each. 
    this.data=new Observable<any>(observer=>{ 
     setTimeout(()=>{ 
     observer.next(32); 
     },2000);   
    }); 

    let subscriber=this.data.subscribe(
     value=>this.num=value, 
     err=>console.log(err), 
    ()=>console.log("Completed") 
    ); 
    } 

} 

目前2秒我觀察到的更新與32

價值,但之後我想重複運行該功能,直到值達到10000

我想存儲斐波納契數列在此觀察到並打印出來。

是這樣的可能與angular2 observables?

謝謝。

+0

對於重複你可以使用的setInterval() – Verri

回答

0

您可以使用對觀測的interval()功能:

return Observable 
     .interval(2000) // time in ms 
     .flatMap(() => { 
      return nextNumber() 
     });