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

122
Vistas
cómo acceder al retorno asíncrono externamente

soy nuevo en javascript y tengo problemas con los conceptos, ¿cómo accedo al valor de retorno de la función asíncrona fuera de ella? Probé un método .then pero solo devuelve indefinido... este es mi código, quiero asignar el resultado a la variable contractNumber fuera de la función asíncrona para que pueda pasarlo a otra función y también a la consola. Registre el resultado externamente ... vengo de aprender Python, así que estoy muy confundido

 const inquirer = require('inquirer') async function getContract() { await inquirer.prompt({ type: 'input', name: 'retrieveContract', message: "Enter contract adress: ", }) .then(answer => { console.log(`Targetting: ${answer.retrieveContract}`); results = answer.retrieveContract return results }); } getContract() contractNumber = results
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

 const inquirer = require('inquirer') async function getContract() { const result = await inquirer.prompt({ type: 'input', name: 'retrieveContract', message: "Enter contract adress: " }) console.log(`Targetting: ${result.retrieveContract}`); return result.retrieveContract; } contractNumber = await getContract();
about 4 years ago · Juan Pablo Isaza Denunciar

0

Para comprender lo que sucede, await espera a que la promesa de inquirer.prompt se resuelva en un valor de retorno, con el que luego puede trabajar. No hay necesidad de una cláusula .then para trabajar con el valor devuelto.

Hay dos soluciones:

  1. Use await y simplemente continúe escribiendo su lógica. (Mi solución preferida ya que es más limpia e intuitiva)
 async function getContract() { const answer = await inquirer.prompt({ type: 'input', name: 'retrieveContract', message: "Enter contract adress: ", }) console.log(`Targetting: ${answer.retrieveContract}`); results = answer.retrieveContract return results }
  1. Use .then y pase la función de devolución de llamada en .then
 async function getContract() { inquirer.prompt({ type: 'input', name: 'retrieveContract', message: "Enter contract adress: ", }).then(answer => { console.log(`Targetting: ${answer.retrieveContract}`); results = answer.retrieveContract return results }); }
about 4 years ago · Juan Pablo Isaza 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