DEV Community

Cristian Fernando
Cristian Fernando

Posted on

Paracetamol.js馃拪| #128: Explica este c贸digo JavaScript

Explica este c贸digo JavaScript

Dificultad: Intermedio

const f = async() => {
  return await 5;
}
console.log(f())
Enter fullscreen mode Exit fullscreen mode

A. Promise { <pending> }
B. Promise { <fulfill> }
C. Promise { <reject> }
D. 5

Respuesta en el primer comentario.


Discussion (1)

Collapse
duxtech profile image
Cristian Fernando Author

Respuesta:
A. Promise { <pending> }

Las funciones as铆ncronas siempre regresan una promesa.
Hasta que no consumamos la promesa de la manera adecuada esta se quedar谩 en estado pendiente, no se resolvi贸 pero tampoco se rechazo, entro como en una especie de limbo.

Dicho esto si llamamos a la funci贸n como en el ejemplo no podemos acceder al valor 5.

Una posible soluci贸n para obtener le resultado deseado es usar m茅todos de promesas:

const f = async() => {
  return await 5;
}

f()
  .then(x => console.log(x)); // 5
Enter fullscreen mode Exit fullscreen mode

O tambi茅n podemos usar async... await:

const f = async() => {
  return await 5;
}

const res = async () => {
  const salida = await f();
  console.log(salida)
}

res(); //5
Enter fullscreen mode Exit fullscreen mode

Con ambas sintaxis cumplimos nuestro cometido de mostrar el valor de 5 por consola.