Está en la página 1de 3

PROGRAMACION ASINCRONA

¿Qué es?
La programación asíncrona es una técnica que permite a tu programa iniciar una
tarea de larga duración y seguir respondiendo a otros eventos mientras esa tarea
se ejecuta, en lugar de tener que esperar hasta que esa tarea haya terminado.
Una vez que dicha tarea ha finalizado, tu programa presenta el resultado.
Muchas de las funciones proporcionadas por los navegadores, especialmente las
más interesantes, pueden tardar mucho tiempo en ejecutarse. Es precisamente
por eso por lo que esas funciones son asíncronas. Por ejemplo:
 Realizar peticiones HTTP utilizando fetch()
 Acceder a la cámara o micrófono de un usuario mediante getUserMedia()
 Pedir a un usuario que seleccione archivos usando showOpenFilePicker()
EJEMPLO

Debemos notar aquí que el visual recorre el programa línea a línea, en el mismo
orden en que nosotros lo escribimos. En cada punto, el navegador espera a que la
línea termine su trabajo antes de pasar a la siguiente línea. Tiene que hacer esto
porque cada línea depende del trabajo realizado en las líneas de código
anteriores.
Esto hace que este sea un programa síncrono. Seguiría siendo síncrono incluso
si llamáramos a una función separada, como aquí:

En este caso, makeGreeting es una función síncrona porque quién la llama


(greeting) tiene que esperar a que la función termine su trabajo y devuelva un
valor antes poder continuar.
TEMPORIZADORES
(setTimeout y setInterval)
setTimeout() es una función nativa de JavaScript que establece un temporizador
en milisegundos para ejecutar una función callback al finalizar dicho temporizador.
Dicho de otro modo, setTimeout() sirve para ejecutar una función tras un periodo
determinado.
setInterval() se utiliza comúnmente para establecer un retardo en funciones que
son ejecutadas una y otra vez, como por ejemplo las animaciones. Puede cancelar
el intervalo utilizando clearInterval() . Si desea que su función sea llamada una vez
después del retardo especificado utilice setTimeout()

También podría gustarte