javascript - 如何避免 Angular2+ 中的重复服务
问题描述
我正在使用 Angular 7 和 Spotify WEB API,并提供了一项服务,将所有播放和监视播放状态逻辑保存在一个地方。
为了简单起见,我会拿出一些逻辑。
该服务被调用:
play() {
this._service.playTracks(this.tracks);
console.log('Playing mock track list');
this.monitorPlayback();
}
它播放一系列歌曲,然后启动监控。
monitorPlayback () {
interval(15000).subscribe(() => {
monitoring logic here;
});
这个函数获取用户当前的播放状态,用它做一些事情——这对这个问题并不重要。
现在这是我的问题。如果我多次排队歌曲 - 整个事情(显然)被触发两次。所以我不是在 15 秒内轮询一次,而是两次。如何杀死已经启动的 monitorPlayback() 实例?我不想在当前播放时添加更多逻辑(但是可能会改变)。
解决方案
推荐阅读
- sql - 在 SQL Server 中对表的 3 列中的值进行排序
- r - Windows 10 上多个 Fortran 编译器的预处理器指令
- c# - 在数据库中获取双重数据
- python - 使用带有 ipython 控制台(spyder)的 matplotlib 失败
- php - 无法对我的 mysql 表中的某些值进行 PHP 总和,请帮助我
- ruby - 水豚在 rspec 测试中与单选按钮不匹配
- javafx - 在 ObservableList 的提取器中找不到带有 JavaFX GroovyObject 的 Groovy
- html - 是否有在 CSS 网格布局中创建可扩展行的最佳实践?
- awk - AWK - 匹配前 3 个字段,从同一行的两个文件中打印 $6 和 $7
- java - Apache SSHD 客户端获取服务器公钥