javascript - 要使用 setInterval() 还是 interval()?- 角 11
问题描述
是否存在 setInterval() 或 interval() 更好的情况?还是它们的功能完全相同?在一个在线/视频课程中,我正在学习增加我在 Angular 方面的知识,那个人说在其中一部分使用 setInterval,但是,我无法弄清楚要使用的语法,所以我最终使用了带有 .subscribe() 的 interval()和 .unsubscribe 代替(下面的代码)。
它完全按照我想要的方式运行,但是我仍然找不到使用 .subscribe 的间隔是更好还是更差。我看到在某些情况下使用.setInterval() 是有害的,但在interval() 上找不到很多东西。如果有人可以让我对差异(如果有的话)有所了解,那就太好了!
export class GameControlComponent implements OnInit {
@Output() numbers = new EventEmitter<{number : number}>();
//not sure what type to declare here
num;
subscription : Subscription;
constructor() { }
ngOnInit(): void {
}
//event (holding a incrementing number) should get emitted each second (ref = setInterval())
startCount() {
this.num = interval(1000);
this.subscription = this.num.subscribe(n =>
this.numbers.emit(n));
console.log(this.num);
}
stopCount() {
this.subscription.unsubscribe();
}
}
解决方案
推荐阅读
- python - Django list_display 最高值 ManyToMany 字段
- powershell - 自动同步两者..我想做用户指定的事情
- google-apps-script - 选择谷歌工作表时运行功能
- javascript - 如何在 js 中深度克隆 Map 或 Set?
- python - 如何使用“MapDataset”作为 ImageDataGenerator 的输入?
- git - 推送到 GitLab 时连接代理中止
- php - /bin/sh: ligne 0 : exec: node : non trouvé
- next.js - 来自下一个/图像的图像优化如何处理文件大小?我应该为要上传到我的网络应用程序的图像设置文件大小限制吗?
- python-3.x - jupyterhub - NLTK - 无法使用停用词
- api - 如何使用 Cypress 使用来自 OneLogin 的 PKCE 的授权代码流来自动化登录部分