¿Qué hace await dentro de una async function?
async function loadUser() {
const res = await fetch("/api/user");
const user = await res.json();
return user;
}Opciones
- Bloquea todo el navegador hasta que termina la petición
- Pausa esta función hasta que la promesa se resuelva (Opción correcta)
- Convierte la petición en síncrona
- Reintenta la petición hasta que funcione
Respuesta
Pausa esta función hasta que la promesa se resuelva, sin congelar el resto de la página
Por qué
await espera una promesa y te da su valor, así que el código async se lee de arriba abajo como código normal.
Solo se pausa ESTA función; mientras tanto el navegador sigue atendiendo clics, animaciones y otro código.
Si la promesa se rechaza, await lanza una excepción, así que envuélvelo en try/catch para gestionar errores. Nota: una función async siempre devuelve una promesa.
Recuerda
await = pausar esta función, no la página.