본문 바로가기
Front-end/Javascript

[에러 해결] javascript - 일정 시간이 지난 후 반복 실행 후 정

by whatamigonnabe 2022. 4. 30.

아래와 같이 setTimeout 함수 내에 setInterval을 실행했더니, 나중에 clearInterval함수가 작동하지 않는 문제가 생겼다.

 

setTimeout(() => {

      const move_interval = setInterval(move, 50);

}, 2500); 

 

이유는 setInterval의 아이디를 할당한 변수가 지역변수이기 때문에 scope 밖에서 읽을 수 없었던 것.

 

이를 해결하기 위해, 함수 밖에서 move_interval을 전역변수로 선언했더니, 해결됐다.

 

const move_interval = null;

setTimeout(() => {

      move_interval = setInterval(move, 50);

}, 2500); 

 

clearInterval(move_interval);