강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

지현님의 프로필 이미지
지현

작성한 질문수

인터랙티브 웹 개발 제대로 시작하기

setInterval

clearInterval 대신 clearTimeout

작성

·

781

0

제가 clearInterval로 수정하지않고

주석처리해놨던 clearTimeout 을 그대로 사용했는데

정지가 됐는데 !! 호환이 되는건가요? 

오류가 나지않고 그대로 실행되네욤..!!

답변 2

0

1분코딩님의 프로필 이미지
1분코딩
지식공유자

김경민님이 상세하게 답변을 주셨네요- 감사합니다^^

0

안녕하세요!

먼저 웹브라우저에서 setTimeout과 setInterval은 같은 ID pool 을 사용합니다.

즉, setTimeout에 할당된 ID 는 setInterval에 중복으로 할당되지 않습니다.

ID가 중복되지 않기 때문에

clearTimeout이 setInterval로 등록된 타이머를 삭제할 수 있고,

clearInterval이 setTimeout으로 등록된 타이머를 삭제할 수 있습니다.

만약 각각 ID값을 따로 관리한다면,

(ex) setTimeout IDs: 1, 2, 3, ...

(ex) setInterval IDs: 1, 2, 3... 

Timeout은 Timeout 끼리, Interval은 Interval 끼리 작동하지 않는다면

원하는대로 작동하지 않겠죠..?

다만 MDN에서는 명확성, 혼란 방지를 위해 호환하여 사용하지 않기를 권고합니다.

(참고)

https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/clearTimeout#parameters

지현님의 프로필 이미지
지현

작성한 질문수

질문하기