Угловая остановка и очистка интервала - PullRequest
0 голосов
/ 30 июня 2019

У меня есть это в компоненте:

  ngOnInit() {
    setInterval(() => {
        console.log('still running...');
      }, 1000);
    }

  stop() {
    clearInterval();
  }

Как я могу сделать так, чтобы он остановился и очистился, чтобы я больше не видел console.logs в консоли?

Ответы [ 3 ]

1 голос
/ 30 июня 2019

Вам необходимо указать идентификатор интервала, который вы хотите очистить:

intervalID;

ngOnInit() {
  this.intervalID = setInterval(() => {
    console.log('still running...');
  }, 1000);
}

stop() {
  clearInterval(intervalID);
}
1 голос
/ 30 июня 2019

Сохраните ссылку на интервал, и затем вы сможете очистить его

interval: any;

ngOnInit() {
   this.interval = setInterval(() => {
       console.log('still running...');
      }, 1000);
    }

  stop() {
    clearInterval(this.interval);
  }
1 голос
/ 30 июня 2019

Вы должны сохранить ссылку, возвращенную из setInterval, и передать ее clearInterval в качестве параметра.

  intervalRef;

  ngOnInit() {
    this.intervalRef = setInterval(() => {
      console.log('still running...');
    }, 1000);
  }

  stop() {
    clearInterval(this.intervalRef);
  }

Вы можете попробовать здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...