setInterval(콜백함수, 시간) 는
"시간(ms)"을 간격으로 "콜백함수"를 반복 호출 하는 함수이다.
return 값으로 고유하게 interval을 식별하는 interval ID를 갖는다??
나중에 clearInterval() 로 고유 interval ID를 제거해서 반복 호출을 중단시킬 수 있다.
함수를 반복호출하다가 잠시 중단하고 다시 시작하고 싶다면?
➡️
setInterval 함수의 반환값을 변수에 할당해두고,
clearInterval(변수)를 호출하여 반복을 중단하고,
다시 setInterval로 재시작해주면 된다.
아래설명과 예시를 통해 보자.
setInterval()함수의 반환값을 변수에 할당하여 반복 시작
let 변수 = setInterval(콜백함수, 시간);
clearInterval(변수)로 반복 중단
clearInterval(변수);
setInterval()함수의 반환값을 변수에 재할당하여 재시작
변수 = setInterval(콜백함수, 시간);
예제 코드
let interval = setInterval(callback, 1000);
function callback() {
console.log('a');
}
이렇게 1000ms 마다 callback 함수를 호출할 수 있다.
이 반복을 해체하려면?
clearInterval(interval);
clearInterval() 을 사용하여 반복 호출 해제.
다시 반복 호출하려면?
interval = setInterval(callback, 1000);
다시 변수에 담으면 됨 ㅋㅋ
출처 : https://curryyou.tistory.com/328
WindowOrWorkerGlobalScope.setInterval() - Web APIs | MDN