Esta página foi traduzida do inglês pela comunidade. Saiba mais e junte-se à comunidade MDN Web Docs.

View in English Always switch to English

WindowTimers.clearTimeout()

Baseline Widely available

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

Sumário

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

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() e setInterval() são compartilhados, o que significa que clearTimeout() e clearInterval() 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
# dom-cleartimeout-dev

Compatibilidade

Veja também