Угловое событие счетчика - PullRequest
       10

Угловое событие счетчика

0 голосов
/ 11 октября 2018

Машинопись:

 countDown;
 counter = 10;
 tick = 1000;    

 this.countDown = Observable.timer(0, this.tick)
  .take(this.counter)
  .map(() => --this.counter)

И в HTML:

  <div>
    <h1>Time left</h1>
    <h2>{{countDown | async | formatTime}}</h2>
  </div>

Как я могу вызвать событие, когда счетчик ударов 0?

1 Ответ

0 голосов
/ 11 октября 2018

Попробуйте это

this.countDown = Observable
  .timer(0, this.tick)
  .take(10)
  .filter(value => value === 0)
  .do(() => {})

Вы также можете использовать это, потому что вы использовали take

this.countDown = Observable
  .timer(0, this.tick)
  .take(10)
  .map(() => --this.counter)
  .finally(() => {})

РЕДАКТИРОВАТЬ Для версии 6:

this.countDown = timer(0, this.tick)
  .pipe(
    take(this.counter),
    map(() => --this.counter),
    finalize(() => /* your event */),
)

this.countDown = timer(0, this.tick)
  .pipe(
    take(this.counter),
    map(() => --this.counter),
    filter(value => value === 0),
    tap(() => /* your event */),
)
...