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

207
Vistas
¿Cómo esperar la respuesta del ejecutivo del nodo?

¿Cómo puedo usar una devolución de llamada para una promesa correctamente para obtener el resultado de un ejecutivo de nodo en la función condole.log() ?

 import { exec } from 'child_process'; const check = () => { exec(`...`, (err, stdout) => { if (err) { return false } else { return true } }) } console.log(check()) // getting undefined

Intenté usar .on('exit') pero ninguno funcionó... me encantaría obtener ayuda aquí. ¡¡GRACIAS!!

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

0

Debe envolver la llamada en una promesa para obtener la devolución de la devolución de llamada:

 import { exec } from 'child_process' const check = () => { return new Promise((resolve) => { exec(`...`, (err, stdout) => { if (err) { resolve(false) } else { resolve(true) } }) }) }

Al no rechazar un error en la devolución de llamada, puede resolver la promesa y devolver falso en su lugar. Si usó el parámetro de reject en la llamada de promesa, necesitaría manejar ese error encadenando una llamada .catch() . Para mantener la implementación similar a la que ya tiene, la omití y en su lugar resolví la promesa con false .

Luego puede usar .then() en la llamada para check y obtener los resultados deseados:

 check().then(res => { console.log(res) })
about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede usar el constructor Promise para hacerlo usted mismo o puede usar el módulo util para convertir una función de invocación de devolución de llamada en una que devuelve una promesa.

Usando el módulo de utilidad

 const util = require("util"); const exec = util.promisify(require("child_process").exec); const check = async () => { const output = await exec(`echo hi`); console.log(output); }; check();

Envolviendo con el constructor Promise

 import { exec } from "child_process"; const check = async () => { return new Promise((resolve, reject) => { exec(`echo hi`, (err, stdout) => { if (err) { reject(err); } else { resolve(stdout); } }); }); };
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