Comprendí que la diferencia entre Promise y await/asyc es el manejo de errores y el código legible. Promise puede usar .catch() para el manejo de errores, pero async/await no tiene una función para manejar errores, por lo que tenemos que usar try-catch(), y async/await es mejor cuando el código se alarga.
Pero no pude obtener la diferencia entre setTimeout. ¿Cuál es la diferencia entre tres funciones asíncronas?
Muchas gracias por cualquier ayuda :)
Con setTimeout, simplemente establece un tiempo en milisegundos que el procedimiento debe esperar hasta que se llame a la función de devolución de llamada dentro de la llamada setTimeout.
Sentido:
setTimeout(() => { console.log('Hello World!'); }, 1000);Cuando se ejecuta setTimeout, esperará 1000 milisegundos = 1 segundo hasta que ejecute console.log(); acción.
En caso de manejo de errores, aún necesita manejar sus errores manualmente, pero también puede resolver Promises en setTimeout. Entonces podría decirle al programa que debe esperar 1 segundo hasta que resuelva la Promesa y pueda detectar excepciones como dijo con .catch() en la llamada de la Promesa.
TL; DR: los métodos asíncronos solo esperan hasta que el método finalice (si los espera) y setTimeout ejecuta un bloque de código después de una cantidad determinada de milisegundos.