Links

setInterval에 클로져 개념 사용하기

기본적인 사용법은 위 사이트에서 확인하자.

상황

setInterval 이 특정 값의 조건에 맞으면 멈추게 하고 싶다. 위의 첫번째 링크를 확인해보면 아래와 같은 코드가 있다.
var interval = setInterval(function() {
console.log("Interval");
}, 1000);
clearInterval(interval);
위의 코드와 클로저의 개념을 사용해서 특정 조건을 추가해서 문제를 해결할 수 있을거 같다.

해결

function setCountDownAsInterval() {
let remain_time = 9;
let myInterval = 0;
return myInterval = setInterval(function () {
if (remain_time === 0) {
clearInterval(myInterval);
myInterval = 0
gameStop('time-out');
}
countDown(remain_time--)
}, 1000);
}
여기서 나의 조건은 변수 remain_time 이 0 이 되면 clearInterval 을 해야하는 것. 위에 있던 기존의 코드 한번 더 함수로 감싸서 해결했다.