clearTimeout() 전역 함수

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

전역 clearTimeout() 메서드는 setTimeout()으로 생성한 타임아웃을 취소합니다.

매개변수가 생성된 타임아웃들 중 무엇도 식별하지 못하면 아무 동작도 하지 않습니다.

구문

js
clearTimeout(timeoutID)

매개변수

timeoutID

취소할 타임아웃의 식별자입니다. 이 ID는 취소할 타임아웃을 설정했던 setTimeout()이 반환한 값과 같아야 합니다.

setTimeout()setInterval()의 ID 풀이 공유된다는 사실을 참고하세요. 따라서 기술적으로는 clearTimeout()clearInterval()을 혼용할 수 있습니다. 하지만 코드의 명확함을 위해 혼용하지 마세요.

반환 값

없음 (undefined).

예제

아래 스크립트를 웹 페이지 컨텍스트에서 실행하고, 페이지를 한 번 클릭하세요. 1초 후에 메시지가 나타납니다. 1초 안에 페이지를 여러 번 클릭해도 메시지는 한 번만 나타납니다.

js
const alarm = {
  remind(aMessage) {
    alert(aMessage);
    this.timeoutID = undefined;
  },

  setup() {
    if (typeof this.timeoutID === "number") {
      this.cancel();
    }

    this.timeoutID = setTimeout(
      (msg) => {
        this.remind(msg);
      },
      1000,
      "일어나세요!",
    );
  },

  cancel() {
    clearTimeout(this.timeoutID);
  },
};
window.addEventListener("click", () => alarm.setup());

참고

clearTimeout()에 유효하지 않은 ID를 제공하면 아무것도 하지 않습니다. 예외도 발생하지 않습니다.

명세서

Specification
HTML Standard
# dom-cleartimeout-dev

브라우저 호환성

BCD tables only load in the browser

같이 보기