如何使角度2更新后的时间间隔观察?
问题描述:
我在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?
谢谢。
答
您可以使用对观测的interval()功能:
return Observable
.interval(2000) // time in ms
.flatMap(() => {
return nextNumber()
});
对于重复你可以使用的setInterval() – Verri