Observable.timer完成/重置后抛出事件/console.log如何

时间:2018-08-08 09:14:59

标签: observable angular2-observables

美好的一天。 我有Observable.timer在完成并引发事件后可以正常工作。 但是,如果我重置此Observable.timer的工作,则会收到该事件。我只想在Timer完成时获得事件。

示例代码:

start(): void {
    this.timer = Observable.timer(this.countDuration, 1000)
      .map(i => this.type === 'count-down' ? this.countDuration - i : this.counter + i)
      .take(this.countDuration + 1)
      .do(i => this.counting = i)
      .finally(() => console.log('hello!'))
      .subscribe();
  }

reset(): void {
    this.countDuration = this.duration;
    this.timer.unsubscribe();
    this.start();
  }

0 个答案:

没有答案