Función de sueño de JavaScript

Función de sueño de JavaScript

JavaScript es el lenguaje de la libertad pero es un lenguaje orientado a la función al mismo tiempo. A diferencia de otros idiomas, JavaScript no proporciona una función de sueño incorporada (). Puede construir una función de sueño personalizado () utilizando la función incorporada setTimeOut () o la última promesa de EcMascript promete una función de esperanza async. Este artículo le muestra cómo detener o detener la ejecución de la función de sueño por una cantidad de tiempo deseada utilizando promesas o funciones de esperanza de asíncea.

Antes de empezar

Antes de comenzar a construir una función de sueño, debe comprender que la función setTimeOut () no funciona si espera que detenga la ejecución. Muchos programadores y desarrolladores intentan usar la función con bucles pero falla porque la función setTimeOt () se usa para esperar una cantidad de tiempo dada y luego ejecuta la función dada. Sin embargo, puede usar la función setTimeOut () para construir una función de sueño usando prometido si su propósito es detener la ejecución por una cantidad de tiempo deseada.

Usando la función de sueño

Entonces, haremos una función de sueño personalizada en la que la función obtendrá tiempo en milisegundos como argumento y le devolverá una promesa. La promesa incluirá una función setTimeout (), que pasará el resolución como una función y tiempo en milisegundos a la función setTimeOut (). Entonces, al final, la función de sueño debería verse así:

function sleep (ms)
return new Promise (resolver => setTimeout (resolver, ms));
;

Y ahora, donde quiera usar esta función de sueño, puede usarla fácilmente.

Ahora, usaremos esta función de sueño en un par de ejemplos para mostrarle cómo usarla en la práctica.

Primero, intentaremos consolar algún mensaje de texto y llamaremos a la función de sueño. Dado que la función del sueño está devolviendo una promesa, colocamos una función luego después de ella, en la que consolaremos algún texto y pasaremos el argumento '5000' a la función de sueño. Después de ejecutar el programa, verá en la consola que dormirá durante 5 segundos.

consola.log ("la función de sueño esperará 10 segundos y luego imprimirá 'hecho'");
Dormir (5000).entonces (() =>
consola.log ("hecho");
)

Puede presenciar el retraso de 5 segundos para llegar al estado de "hecho" en la consola.

Supongamos que queremos realizar una animación cada 2 segundos. Para hacerlo, simplemente escribiremos una función de animación asincrónica, en la que animaremos algo, detendremos la ejecución durante 2 segundos usando el sueño y luego repetiremos este proceso usando un bucle for 10 veces.

ASYNC Function Animation (MS)
consola.log ("comenzando ...");
para (deja i = 0; yo < 10; i++)
consola.Log ("Animación después de 2 segundos ...")
esperar el sueño (MS)

consola.log ("Este es el final.");

Después de escribir la función de animación asincrónica, ahora podemos llamar a la función de animación.

Animación (2000);

Después de ejecutar el código, verá en la consola que el texto "Animación después de 2 segundos" se repite cada dos segundos.

Conclusión

Este artículo le mostró cómo hacer una función de sueño personalizada, junto con múltiples demostraciones. Espero que este artículo te haya ayudado a comprender mejor el uso de la función del sueño. Puede obtener más información sobre JavaScript en Linuxhint.comunicarse.