javascript - 如何从 rxjs Observable 获取刻度数

标签 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;
    })

最佳答案

然后你可以创建一个变量来负责存储 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);
}

关于javascript - 如何从 rxjs Observable 获取刻度数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40815665/

相关文章:

java - 如何在 Java 中实现与 JavaScript String.replace(RegEx, function) 相同的功能?

javascript - 获取指示哪个路由处于事件状态的 bool 值 [Angular 2]

node.js - Angular 2、Nodejs 和 postgresql

javascript - 在组件初始化之前加载数据 - angular 2

rxjs - ionic 3 找不到模块 "rxjs/operators/share"

javascript - Javascript 中的 If 语句返回值

javascript - 确定哪些 JavaScript 函数未被调用

javascript - Gulp Browserify 在每次保存/更改时需要更长的时间来编译

angular - @angular/material 日期选择器位置

javascript - 在 Angular 中链接可观察订阅的最佳方式?