【发布时间】:2018-10-30 23:50:35
【问题描述】:
我在提供程序中有一个Observable.timer,我将其导入到特定页面。计时器结束时如何调用位于页面内而不是提供程序中的函数?
我现在正在做的是尝试在计时器使用.finally(() => this.endT()) 从提供程序结束时返回一个值,但它不起作用
页面
import { TimerProvider } from '../../providers/timer/timer';
endTimer() {
console.log('timer ended');
}
newTimer() {
this.countDown = this.timerProvider.newTimer();
if(this.countDown == 'timer complete'){
this.endTimer();
}
}
提供者
countDown: any;
counter = 1*100;
tick = 1000;
constructor(public http: HttpClient) {
//console.log('Hello TimerProvider Provider');
}
newTimer() {
return Observable.timer(0, this.tick).take(this.counter)
.map(() => --this.counter).finally(() => this.endT());
}
endT() {
return 'timer complete';
}
【问题讨论】:
标签: angular ionic-framework ionic2