El siguiente ejemplo es igual que el anterior, excepto que hemos añadido un cuadro de texto para que escriba en él. Esta vez, haga clic en "Generar primos", y trate de escribir en el cuadro de texto inmediatamente después.
Verás que mientras nuestra función generatePrimes() se está ejecutando, nuestro programa no responde en absoluto: no puedes escribir nada, ni hacer clic, ni nada más.
Este es el problema básico de las funciones síncronas de larga duración. Necesitamos buscar una forma de que nuestro programa:
- Inicie una operación de larga duración llamando a una función.
- Haga que esa función inicie la operación y regrese inmediatamente, de manera que nuestro programa pueda seguir respondiendo a otros eventos.
- Notifique el resultado de la operación cuando se complete.
Eso es precisamente lo que pueden hacer las funciones asíncronas. El resto de este módulo explica cómo se implementan en JavaScript.