0

angular2でオブザーバブルを作成しています。

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オブザーバブルでこのようなことは可能ですか?

ありがとう。

4

1 に答える 1

0

Observable でinterval()関数を使用できます。

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