RxJS 倒数计时器未达到零
RxJS countdown timer doesn't reach zero
我的 angular
应用程序中有一个 startCountdown()
功能,它基本上是一个 2 分钟的倒计时计时器。
问题是,它没有达到零并停在 0:01
。
startCountdown()
函数如下:
startCountdown(): void {
const timerInterval$ = interval(1000); //1s
const timer$ = timer(120000); //120s
const times = 120;
const countDown$ = timerInterval$.pipe(take(times));
const sub = countDown$.subscribe((val) => {
this.countdownTimer = secondsToTime(times - val);
});
}
这是 secondsToTime()
函数:
secondsToTime(seconds: number): string {
const minute: number = Math.floor(seconds / 60);
const second: number = seconds == 0 ? 0 : seconds % 60;
if (second < 10) {
return `${minute}:0${second}`;
} else {
return `${minute}:${second}`;
}
}
嗯:interval(1000).pipe(take(120))
发出从 0 到 119 的 120 个值
我的 angular
应用程序中有一个 startCountdown()
功能,它基本上是一个 2 分钟的倒计时计时器。
问题是,它没有达到零并停在 0:01
。
startCountdown()
函数如下:
startCountdown(): void {
const timerInterval$ = interval(1000); //1s
const timer$ = timer(120000); //120s
const times = 120;
const countDown$ = timerInterval$.pipe(take(times));
const sub = countDown$.subscribe((val) => {
this.countdownTimer = secondsToTime(times - val);
});
}
这是 secondsToTime()
函数:
secondsToTime(seconds: number): string {
const minute: number = Math.floor(seconds / 60);
const second: number = seconds == 0 ? 0 : seconds % 60;
if (second < 10) {
return `${minute}:0${second}`;
} else {
return `${minute}:${second}`;
}
}
嗯:interval(1000).pipe(take(120))
发出从 0 到 119 的 120 个值