WindowTimers.clearTimeout()

Sumário

O método clearTimeout() do escopo WindowOrWorkerGlobalScope cancela um timeout previamente estabelecido pela função setTimeout() (en-US).

Síntaxe

escopo.clearTimeout(timeoutID)

Parâmetros

timeoutID

O ID do timeout que você deseja cancelar. Esse ID é o retorno da função setTimeout().

É interessante ressaltar que os conjuntso de IDs usados pelos métodos setTimeout() (en-US) e setInterval() são compartilhados, o que significa que clearTimeout() e clearInterval() (en-US) podem ser tecnicamente utilizados de forma intercambiável. No entanto, para obter-se maior clareza, isso deve ser evitado.

Exemplo

Execute o script abaixo em uma página web e clique na página uma vez. Você verá uma mensagem aparecer um segundo depois. Se você continuar clicando na página várias vezes nesse intervalo de tempo, a mensagem aparecerá uma única vez.

js
var alarme = {
  relembrar: function (aMessage) {
    alert(aMessage);
    delete this.timeoutID;
  },

  setup: function () {
    if (typeof this.timeoutID === "number") {
      this.cancelar();
    }

    this.timeoutID = window.setTimeout(
      function (msg) {
        this.relembrar(msg);
      }.bind(this),
      1000,
      "Wake up!",
    );
  },

  cancelar: function () {
    window.clearTimeout(this.timeoutID);
  },
};
window.onclick = function () {
  alarme.setup();
};

Notas

Passar um ID inválido para clearTimeout não causa nenhum efeito (não lança nenhuma exceção).

Especificações

Specification
HTML Standard
# dom-cleartimeout-dev

Compatibilidade

BCD tables only load in the browser

Veja também