Ionic 2 Observable.timer在后退按钮上被摧毁

时间:2018-05-20 12:33:12

标签: angular ionic-framework ionic2

我有Observable.timer倒计时,当用户离开页面时,如果他们决定稍后回来,我希望该计时器仍处于活动状态。例如,我只希望在达到特定日期 和时间时删除计时器。

我试图实现这个,但当我点击后退按钮时,计时器被销毁并调用endTimer()回调。

定时器功能

   countDown: any;
   counter = 1*900;
   tick = 1000;

 newtimer() {
   // create session 
   this.storage.set('dateCreated', 'timer_started');
   // create timer
   this.countDown = Observable.timer(0, this.tick)
      .take(this.counter)
      .map(() => --this.counter).finally(() => this.endTimer()); 
 }

1 个答案:

答案 0 :(得分:0)

当您将页面留在离子中时,它将被销毁。因此,该页面的成员var的计时器将被销毁。

如果您希望该计时器继续运行,您应该将其置于某项服务中。因为服务是单例的,所以当删除页面时不会销毁它。