0

我在 angular2 中创建 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 秒后,我的 observable 将值更新为 32。

但我想重复运行这个函数,直到值达到 10000。

我想将斐波那契数列存储在这个 observable 中并打印出来。

angular2 observables 有可能发生这样的事情吗?

谢谢。

4

1 回答 1

0

您可以在 Observables 上使用interval()函数:

return Observable
        .interval(2000) // time in ms
        .flatMap(() => {
            return nextNumber()
        });
于 2016-08-04T11:59:29.913 回答