angular - 重置 Observable.timer()
问题描述
我尝试制作我的计时器,但是遇到了一个问题,我无法理解如何重置(刷新)我的计时器。
startTimer() {
Observable.timer(this.countDownDuration, 1000)
.map(i => this.countDownDuration - i)
.take(this.countDownDuration + 1)
.subscribe(i => {
this.countDown = i;
console.log(this.countDown);
});
}
resetTimer() {
must stop previous timer and start new
}
有什么建议么
解决方案
const s = new BehaviorSubject(null);
s.switchMap(() => Observable.timer(this.countDownDuration, 1000))
.map(...)
...
.subscribe(...);
resetTimer() {
s.next();
}
推荐阅读
- php - 如果 SELECT 查询后 SQL 中不存在行,如何显示错误消息?
- timestamp - Googlescript逐行更新时间戳
- autohotkey - 按随机时间范围?
- ios - UICollectionView - 部分快照 - 删除部分或项目时“找不到项目索引”
- machine-learning - 人工神经网络中实际输出值过冲/下冲的一般趋势
- c# - Unity上firebase的序列化错误
- java - 在tomcat中将子域托管到域根目录
- r - 如何在应用滚动功能的情况下显示缺失的日期
- ios - 有没有办法在 SwiftUI 中创建一个新的手势?
- awk - 在特定的行范围内按多个模式删除行