Soy nuevo en JavaScript. Aprendí que puedo hacer que mis scripts sean asíncronos poniendo la palabra asíncrono delante de la etiqueta del script html.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script async src="scripts.js"></script> </body> </html>Pero vi en otro video que necesito usar callbacks/ Promises/ Async-await para hacer que mi código sea asíncrono.
const friendlyFunction = async ()=> { return `Hello` } console.log(friendlyFunction)¿Hay alguna diferencia?
Estos son dos conceptos totalmente independientes.
El atributo async en una etiqueta de secuencia de comandos significa que la secuencia de comandos no bloqueará la representación: el navegador no esperará a que la carga útil de la secuencia de comandos termine de descargarse y termine de ejecutarse antes de continuar con la representación de partes posteriores del HTML. Esto sería útil si tuviera otras cosas debajo de la etiqueta del script, por ejemplo
<script async src="scripts.js"></script> <div>more HTML content here</div>(Si no tiene más contenido debajo de la etiqueta del script, el atributo realmente no hace nada útil)
Por el contrario, usar la palabra clave async delante de las funciones de JavaScript significará
await dentro de la función asíncrona para resolver otras Promesas de una manera limpia y sintácticamente plana, sin .then Son usos bastante diferentes de la misma palabra, async . Es posible que desee utilizar el atributo asíncrono, o funciones asíncronas en algunas situaciones, o ambos, o ninguno.