setTimeOut vs setInterval and clearInterval
Interval 관련 함수… 시간에 관련된 작업을 할 때는 필수적으로 사용되는 아이들인데, 비슷한듯 하면서 다르다. 각각의 장점이 있으니 상황에 따라 사용하는 것이 좋을듯하다.
setTimeOut
일정시간이 지나면 함수를 호출한다.
setTimeOut(function, delay);
스탑워치같은 것이 아닌 시간이 실시간으로 변하는 모습을 볼 필요가 없을 때, 일정시간 후에 어떤 작업을 처리해주고 싶을 때는 setInterval 보다는 이녀석을 쓰는게 더 좋겠다.
일정시간 후 작업 => setInterval < setTimeOut
setInterval
일정시간마다 함수를 호출한다.
setInterval(function, delay);
하지만 delay 1000이 1초에 해당한다. 하지만 시간이 딱 맞는 것이 아니라서, 스탑워치같이 0을 딱 맞춰야 할 때는 delay === 0 이 아닌 0보다 작거나 같을때로 작업을 따로 해줘야 한다.
실시간 변화 => setInterval > setTimeOut
clearInterval(interval로 생성된 변수)
이 함수는 말그대로 setInterval 로 반복되고 있는 녀석을 멈춘다.
interval = setInterval(update, 10);
...
clearInterval(interval);
setInerval 로 호출한 함수(위의 예에서 update)에서 clearInterval을 하면 제대로 동작하지 않았다. clearInterval, this.clearInterval, 모두 해보았지만 안되더라는… 왜 그런지는 좀 더 공부가 필요할 것 같다.
Written with StackEdit.
댓글
댓글 쓰기