files/en-us/web/api/window/cleartimeout/index.md
{{APIRef("HTML DOM")}}
The clearTimeout() method of the {{domxref("Window")}} interface cancels a timeout previously established by calling {{domxref("Window.setTimeout()")}}.
If the parameter provided does not identify a previously established action, this method does nothing.
clearTimeout(timeoutID)
timeoutID
setTimeout().It's worth noting that the pool of IDs used by {{domxref("Window.setTimeout", "setTimeout()")}} and {{domxref("Window.setInterval", "setInterval()")}} are shared, which means you can technically use clearTimeout() and {{domxref("Window.clearInterval", "clearInterval()")}} interchangeably. However, for clarity, you should avoid doing so.
None ({{jsxref("undefined")}}).
Run the script below in the context of a web page and click on the page once. You'll see a message popping up in a second. If you click the page multiple times in one second, the alert only appears once.
const alarm = {
remind(message) {
alert(message);
this.timeoutID = undefined;
},
setup() {
if (typeof this.timeoutID === "number") {
this.cancel();
}
this.timeoutID = setTimeout(
(msg) => {
this.remind(msg);
},
1000,
"Wake up!",
);
},
cancel() {
clearTimeout(this.timeoutID);
},
};
window.addEventListener("click", () => alarm.setup());
Passing an invalid ID to clearTimeout() silently does nothing; no
exception is thrown.
{{Specifications}}
{{Compat}}