72 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			72 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: Timing Events | |||
|  | localeTitle: Eventos de tempo | |||
|  | --- | |||
|  | ## Eventos de tempo
 | |||
|  | 
 | |||
|  | Os programadores usam eventos de temporização para atrasar a execução do código ou para repetir o código em um intervalo especificado. | |||
|  | 
 | |||
|  | Existem duas funções nativas na biblioteca JavaScript usada para realizar essas tarefas: `setTimeout()` e `setInterval()` . | |||
|  | 
 | |||
|  | Você usa `setTimeout()` para atrasar a execução da função passada por um período de tempo especificado. Existem dois parâmetros que você passa para `setTimeout()` : a função que você deseja chamar e a quantidade de tempo em milissegundos. (Há 1000 milissegundos (ms) em 1 segundo. Ex: 5000 ms = 5 segundos.) `setTimeout()` será executado uma vez após o tempo especificado ter decorrido. | |||
|  | 
 | |||
|  | Exemplo de `setTimeout()` : | |||
|  | 
 | |||
|  | ```javascript | |||
|  | var timeoutID;  | |||
|  |   | |||
|  |  function delayTimer() {  | |||
|  |   timeoutID = setTimeout(delayedFunction, 3000);  | |||
|  |  }  | |||
|  |   | |||
|  |  function delayedFunction() {  | |||
|  |   alert(“Three seconds have elapsed.”);  | |||
|  |  }  | |||
|  | ``` | |||
|  | 
 | |||
|  | Quando a função delayTimer é chamada, ela executará setTimeout. Após 3 segundos, ele executará delayedFunction, que enviará um alerta. | |||
|  | 
 | |||
|  | Use `setInterval()` para especificar uma função para repetir com um intervalo de tempo entre execuções. Novamente, dois parâmetros são passados para `setInterval()` : a função que você deseja chamar e a quantidade de tempo em milissegundos. `setInterval()` continuará a executar até que seja limpo. | |||
|  | 
 | |||
|  | Exemplo de `setInterval()` : | |||
|  | 
 | |||
|  | ```javascript | |||
|  | var intervalID;  | |||
|  |   | |||
|  |  function repeatEverySecond() {  | |||
|  |   intervalID = setInterval(sendMessage, 1000);  | |||
|  |  }  | |||
|  |   | |||
|  |  function sendMessage() {  | |||
|  |   console.log(“One second elapsed.”);  | |||
|  |  }  | |||
|  | ``` | |||
|  | 
 | |||
|  | Quando seu código chama a função repeatEverySecond, ele executará setInterval. setInterval irá executar a função sendMessage a cada 1000 milissegundos. | |||
|  | 
 | |||
|  | Existem também funções nativas correspondentes para parar os eventos de temporização: `clearTimeout()` e `clearInterval()` . | |||
|  | 
 | |||
|  | Você deve ter notado que cada função do timer é salva em uma variável. Quando a função set é executada, é atribuído um número que é salvo nessa variável. Esse número gerado é exclusivo para cada instância de timers. Esse número atribuído também é como os cronômetros são identificados para serem parados. Por esse motivo, você sempre deve definir seu timer para uma variável. | |||
|  | 
 | |||
|  | Para maior clareza do seu código, você deve sempre combinar `clearTimeout()` para `setTimeout()` e `clearInterval()` para `setInterval()` . | |||
|  | 
 | |||
|  | Para parar um temporizador, chame a função de limpeza correspondente e passe a variável de ID do temporizador que corresponde ao temporizador que você deseja interromper. A sintaxe para `clearInterval()` e `clearTimeout()` é a mesma. | |||
|  | 
 | |||
|  | Exemplo: | |||
|  | 
 | |||
|  | ```javascript | |||
|  | var timeoutID;  | |||
|  |   | |||
|  |  function delayTimer() {  | |||
|  |   timeoutID = setTimeout(delayedFunction, 3000);  | |||
|  |  }  | |||
|  |   | |||
|  |  function delayedFunction() {  | |||
|  |   alert(“Three seconds have elapsed.”);  | |||
|  |  }  | |||
|  |   | |||
|  |  function clearAlert() {  | |||
|  |   clearTimeout(timeoutID);  | |||
|  |  }  | |||
|  | 
 | |||
|  | ``` |