Função de sono JavaScript

Função de sono JavaScript

JavaScript é a linguagem da liberdade ainda é uma linguagem orientada para a função ao mesmo tempo. Ao contrário de outros idiomas, o JavaScript não fornece uma função interna de sono (). Você pode criar uma função Sleep () personalizada usando a função Settimeout () interna, ou o mais recente ECMAScript promete uma função assíncroada. Este artigo mostra como parar ou pausar a execução da função de sono por uma quantidade desejada de tempo usando promessas ou funções de async-Await.

Antes de começar

Antes de começar a construir uma função de sono, você precisa entender que a função setTimeout () não funciona se você espera que ela pare a execução. Muitos programadores e desenvolvedores tentam usar a função com loops, mas falham porque a função setTimeout () é usada para aguardar um determinado período de tempo e depois executa a função fornecida. Você pode, no entanto, usar a função setTimeout () para construir uma função de sono usando promessa se seu objetivo é interromper a execução por uma quantidade desejada de tempo.

Usando a função de sono

Portanto, faremos uma função de sono personalizada na qual a função terá tempo em milissegundos como argumento e retornará uma promessa. A promessa incluirá uma função setTimeout (), que passará o resolvedor como uma função e tempo em milissegundos para a função setTimeout (). Então, no final, a função de sono deve ficar assim:

função sono (ms)
retornar nova promessa (resolver => setTimeout (resolver, ms));
;

E agora, onde quer que você queira usar essa função de sono, você pode usá -lo facilmente.

Agora, usaremos essa função de sono em alguns exemplos para mostrar como usá -lo na prática.

Primeiro, tentaremos consolar algum texto e chamar a função de sono. Como a função do sono está retornando uma promessa, colocamos uma função depois, na qual consolaremos algum texto e passaremos o argumento '5000' para a função de sono. Depois de executar o programa, você verá no console que ele dormirá por 5 segundos.

console.log ("A função de sono aguardará 10 segundos e depois imprimirá 'done'");
sono (5000).então (() =>
console.log ("feito");
)

Você pode testemunhar o atraso de 5 segundos para chegar ao status "feito" no console.

Suponha que queremos realizar uma animação a cada 2 segundos. Para fazer isso, simplesmente escreveremos uma função de animação assíncrona, na qual iremos animar algo, parará a execução por 2 segundos usando o sono e depois repita esse processo usando um loop por 10 vezes.

Animação da função assíncrona (ms)
console.log ("Iniciando ...");
para (vamos i = 0; i < 10; i++)
console.log ("Animação após 2 segundos ...")
aguarde o sono (MS)

console.log ("Este é o fim.");

Depois de escrever a função de animação assíncrona, agora podemos chamar a função de animação.

Animação (2000);

Depois de executar o código, você verá no console que o texto “Animação após 2 segundos” está repetindo a cada dois segundos.

Conclusão

Este artigo mostrou como fazer uma função de sono personalizada, juntamente com várias demonstrações. Espero que este artigo tenha ajudado você a entender melhor o uso da função do sono. Você pode aprender mais sobre JavaScript no Linuxhint.com.