RabbitMQ 관련 설정 파일을 보다가 clearInterval, setInterval을 보게 되었다.
이 두 가지가 무엇인지 알아보자.
setInterval(콜백함수,시간)
-> 시간(ms)을 간격으로 콜백함수를 반복 호출
여기서 intervalID를 갖는데, 고유하게 interval을 식별하는 값이라고 생각하면 된다.
clearInterval()은 고유 intervalID를 제거해서 반복 호출을 중단한다.
setInterval 중단/재시작 방법
1. setInterval() 함수의 반환값을 변수에 할당하여 반복 시작
let(or const) 변수 = setInterval(콜백함수,시간);
2. clearInterval(변수)로 반복 중단
clearInterval(변수);
3. setInterval() 함수의 반환값을 변수에 재할당하여 재시작
변수 = setInterval(콜백함수,시간);
예시
// 1000ms마다 callback 함수 호출 가능
let interval = setInterval(callback, 1000);
function callback() {
console.log('a');
}
// 반복 해체
clearInterval(interval);
// 다시 반복 호출
interval = setInterval(callback,1000);
const intervalId = setInterval( () => {
if(this.runningMessages === 0) {
clearInterval(intervalId); // runningMessage가 없을때 반복 중단
console.log('no running messages');
resolve();
}
'Frontend > Javascript' 카테고리의 다른 글
숫자 범위 표현의 에러 (0) | 2023.11.01 |
---|---|
Serialize와 Deserialize의 차이점 (feat.Primitive Type, Reference Type) (0) | 2023.08.11 |
package.json vs package.lock.json (0) | 2023.03.29 |
Property 프로퍼티란? + 프로퍼티에 접근하는 방법 (0) | 2023.03.18 |
npm missing script "start" 에러가 계속 났던 이유 (0) | 2023.03.15 |