DEV Community

Discussion on: Paracetamol.js💊| #128: Explica este código JavaScript

Collapse
 
duxtech profile image
Cristian Fernando

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.