1.7 KiB
1.7 KiB
title | localeTitle |
---|---|
Window setTimeout Method | Método setTimeout da janela |
Método setTimeout da janela
O método setTimeout()
chama uma função ou avalia uma expressão após um número especificado de milissegundos.
Dicas:
- 1000 ms = 1 segundo.
- A função é executada apenas uma vez. Se você precisar repetir a execução, use o método
setInterval()
. - Use o método
clearTimeout()
para impedir que a função seja executada.
A sintaxe do método setTimout()
é a seguinte:
setTimeout(function, milliseconds, param1, param2, ...);
Por exemplo:
setTimeout(function(){ alert("Hello"); }, 3000);
Uma coisa muito importante sobre o setTimeout()
é que ele será executado de forma assíncrona. Vamos dar um exemplo:
console.log("A");
setTimeout(function(){ console.log("B"); }, 0);
console.log("C");
// The order in the console will be
// A
// C
// B
Não como exepected! Mas especificamos apenas 0 segundos !!! Para resolver este problema e ter certeza de que nosso código será executado de forma síncrona, temos apenas que aninhar o último console na função.
console.log("A");
setTimeout(function() {
console.log("B");
console.log("C");
}, 0);
// The order in the console will be
// A
// B
// C
Mais Informações:
Documentação: MDN
Mais exemplos da função setTimeout: w3schools
Para entender o que realmente acontece sob o capô, assista a este incrível vídeo Philip Roberts: O que diabos é o evento loop de qualquer maneira? | JSConf EU 2014