首页 > 解决方案 > 要使用 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();
  }
}

标签: javascriptangularsetintervalintervals

解决方案


推荐阅读