如何从rxjs Observable获取刻度数

时间:2016-11-26 06:31:41

标签: javascript angular rxjs reactive-programming rxjs5

如何获得此观察次数的次数

   this.clock = Observable.interval(1000).map(function(value){
     if(value == 0){
       return  value * 100 / 60;
     }
     return value * 100 / 60;
    }).take(61);

我想让这个Observable运行1或2或3次,每次都在模板中插值显示

如果我这样做,它会将百分比变量返回为NaN

this.clock.subscribe(function(x){
              console.log(x);
              console.log("percentage " + this.percentage);
              this.percentage = this.percentage + 1;
    })

1 个答案:

答案 0 :(得分:2)

然后你可以创建一个变量来负责存储observable运行时间的计数。然后在该值上应用async以显示observable返回的值。

{{ clockCount | async }}

<强>代码

clockCount: any;
count: number = 0;
ngOnInit(){
    this.clock = Observable.interval(1000).map((value) => {
       if(value == 0){
         return  value * 100 / 60;
       }
       return value * 100 / 60;
    }).take(61);
    this.clockCount = this.clock.do(() => this.count = ++this.count);
}