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

331
Vistas
¿Cómo puedo usar más de un inquirer a la vez para JavaScript?
inquirer .prompt([ { name: 'name', message: 'Enter team members name.', }, { name: 'role', type: 'list', message: 'Enter a team members role', choices: [ 'Engineer', 'Manager', 'Intern' ], }, { name: 'id', message: 'Please enter team members id', type: 'input' }, { name: 'email', message: 'Please enter team members email' } ]) .then(function(data){ let moreRole = ''; if (data.role === 'Engineer') { moreRole = 'Github username.' }else if(data.role === 'Intern') { moreRole = 'school name.' }else { moreRole = 'office Number.' } }) inquirer .prompt([ { message: `Enter team members ${moreRole}`, name: 'moreRole' }, { type: 'list', message: 'Would you like to add another team member?', choices: [ 'Yes', 'No' ], name: 'anotherMember' } ]) .then(moredata => { console.log(moredata) });

Entonces, el primer investigador funciona, pero cuando agrego el segundo y lo ejecuto. No funciona correctamente. ¿No puedo usar dos buscadores espalda con espalda? ¿Cómo haría para que funcione? En la consola solo me hace la primera pregunta y vuelve a salir y no me deja responderla.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

La API del paquete se basa en Promises. La primera llamada inquirer.prompt el primer aviso, pero dado que está utilizando la forma then de manejar las Promesas resueltas, no está esperando a que se complete la operación, simplemente pasa a la segunda llamada inquirer.prompt .

Para omitir esto, puede envolver su código en una función async y anteponer await a cada inquirer.prompt (o al menos a todos excepto al último).

Debería verse algo como esto:

 async function callInquirers() { const inq1 = await inquirer.prompt([...]); const inq2 = await inquirer.prompt([...]); // do stuff with results inq1 and inq2 }

Consulte los documentos de Promises, event loop, async/await si desea obtener más información sobre este asunto.

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