2016-08-04 90 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() 
     });