Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

571
Vistas
¿Cómo devolver valores de funciones asíncronas usando async-await from function?

¿Cómo puedo devolver el valor de una función asíncrona? Traté de gustar esto

 const axios = require('axios'); async function getData() { const data = await axios.get('https://jsonplaceholder.typicode.com/posts'); return data; } console.log(getData());

me devuelve esto,

 Promise { <pending> }
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

No puede await algo fuera del alcance async . Para obtener el resultado esperado, debe envolver su console.log en asíncrono IIFE, es decir

 async function getData() { return await axios.get('https://jsonplaceholder.typicode.com/posts'); } (async () => { console.log(await getData()) })()

Muestra de Working .

Más información sobre async/await

Dado que axios devuelve una promesa, se puede omitir async/await await para la función getData de la siguiente manera:

 function getData() { return axios.get('https://jsonplaceholder.typicode.com/posts'); }

y luego hacer lo mismo que hicimos antes

 (async () => { console.log(await getData()) })()
over 4 years ago · Santiago Trujillo Denunciar

0

su función getData devolverá una Promesa.

Así que puedes:

  • await la función también para obtener el resultado. Sin embargo, para poder usar await , debe estar en una función async , por lo que debe 'envolver' esto:

     async function callAsync() { var x = await getData(); console.log(x); } callAsync();

    (Nombré la función en aras de la claridad, pero en este escenario, uno preferiría usar una llamada de función anónima; vea la respuesta de TheReason).

o

  • use el resultado como una Promesa normal, que es lo que devuelve una función asíncrona.
    Tienes que usar then con una devolución de llamada:

     getData().then(x => { console.log(x); });
over 4 years ago · Santiago Trujillo Denunciar

0

Las otras respuestas han cubierto esta multa; pero me gustaría participar y decir que se acostumbre a crear y llamar a una función main en lugar de ejecutar cosas en el ámbito global. es decir

 async function main(){ let result = await getData(); } main().catch(console.log);

Esto es bastante claro para cualquiera que lea su código que este es el punto de entrada de su aplicación

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda