2016-11-26 3 views
2

Как получить сколько раз наблюдаемые побежалоКак получить количество тиков от rxjs наблюдаемой

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

Я хочу, чтобы получить, что это бегало 1 наблюдаемых или 2 или 3 раза .. и отображать каждый раз с интерполяцией в шаблоне

, если я делаю это, было бы вернуть процент переменной быть NaN

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

'this.percentage' возвращает NaN, если изначально не установлен' this.percentage = 0'. Это потому, что 'undefined + anyNumber = NaN' – adriancarriger

+0

Спасибо, хорошая информация – blackHawk

ответ

2

Затем вы можете создать переменную, которая будет отвечать за хранение подсчет того, сколько времени observa бег побежал. Затем примените async над этим значением, чтобы отобразить значение, возвращаемое наблюдаемым.

{{ 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); 
} 
+0

Его управляют в функции карты, что я хочу, чтобы отображать каждый раз, когда этот наблюдаемый будет работать, как если бы он запускался в первый раз, он должен был получить меня 1, и я буду способный отображать это в представлении, часы возвращают проценты, а не последовательные целые числа, такие как 1, 2, 3 и т. д. – blackHawk

+0

@blackHawk, тогда я могу подумать об этом вручную. –

+0

Почему этот код возвращает процентную переменную, которая должна быть NaN, см. обновленный вопрос – blackHawk

 Смежные вопросы

  • Нет связанных вопросов^_^