Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

226
Visualizações
Nodo js Emisor de eventos de proceso secundario frente a devoluciones de llamada

¿Hay alguna diferencia entre adjuntar devoluciones de llamada o detectores de eventos para procesos secundarios en nodejs. me gusta -

 const execute = require('child-process').exec; const process = execute('ping -n 1 www.google.com'); // or ping -c 1 www.google.com for mac process.stdout.on('data', data => { console.log(data) })

En el código anterior, estoy usando un detector de eventos para la salida y obtengo datos de salida estándar en Windows, pero no puedo obtener la salida en macOS. Pero si uso la devolución de llamada como -

 const execute = require('child-process').exec; execute('ping -c 1 www.google.com', (error, stdout, stderr) => { console.log(stdout); })

Estoy obteniendo los datos de salida tanto en Windows como en Mac. ¿Hay alguna diferencia al usar la devolución de llamada o los detectores de eventos (ambos son asíncronos)?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

La callback de llamada se llama cuando se completa la ejecución de esa tarea asíncrona. Sin embargo, los eventos deben dispararse en función del observador. Cada evento tiene oyentes y cuando se activa un evento, su función de oyente relacionada inicia las ejecuciones.

  • Puede adjuntar varios oyentes al mismo evento. Las devoluciones de llamada son notificaciones uno a uno, eventos, uno a muchos.
  • No puede devolver valor del evento. Los eventos son mensajes unidireccionales. A menudo, las devoluciones de llamada siguen la firma (error, data1, data2, data3, ...) porque una sola devolución de llamada es responsable del flujo de datos normal y de error (y las bibliotecas asíncronas generalmente esperan este comportamiento)
  • La API basada en EventEmitter, por otro lado, tiende a separar los mensajes de error y los que no lo son.
  • El evento "error" es especial en el emisor de eventos: si no hay un oyente para él, EventEmitter lanza una excepción. Con las devoluciones de llamada, es su responsabilidad verificar el primer parámetro de error.

Puede consultar este enlace en stackoverflow para ver la diferencia entre la devolución de llamada y los eventos.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda