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
¿Por qué no hay server.emit en este código y tengo problemas para entender este código en el nodo js?

Tengo problemas para entender este código.

  1. Mi confusión está en la línea 8 (server.on). Después de usar server.on, escuchará un evento, pero ¿por qué no se usa server.emit? Y lo que está haciendo el trabajo de server.emit

  2. ¿Es obligatorio escribir emit después de on o no?

Por favor, ayúdame a entender este código también.

Gracias. El código está debajo

 const http = require('http'); const PORT = 8000; // Using Event Emmiter API const server = http.createServer(); // emits request event // subscribe to it / listen for it / respond to it server.on('request', (req, res) => { res.end(`Welcome`); }); server.listen(PORT);

Estoy teniendo confusión de la línea 8

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

0

Este es un servidor http. Uno de los eventos que puede escuchar en un servidor http es el evento de request que indica que hay una solicitud http entrante. Puede ver todos los eventos que admite el objeto del servidor http aquí .

Este evento en particular proporciona dos argumentos: los objetos req y res . Para enviar una respuesta al cliente, utilice el objeto de respuesta res . Puede usar res.write() y/o res.end() . Este ejemplo en particular usa res.end('Welcome') para enviar una respuesta de texto simple al cliente.

No hay .emit() porque no es así como funciona el objeto del servidor http. Internamente, usa .emit() para crear eventos sobre los que los oyentes pueden recibir notificaciones, pero cuando estás escuchando un evento, no usas .emit() tú mismo. En su lugar, utiliza los datos que vienen con el evento para actuar adecuadamente para ese evento en particular. En este caso, utiliza los objetos de solicitud y respuesta que se envían con el evento de request .

. Después de usar server.on, escuchará un evento, pero ¿por qué no se usa server.emit?

El propio servidor utiliza server.emit() internamente para desencadenar eventos que puede escuchar.

Y lo que está haciendo el trabajo de server.emit

No está claro lo que esperas aquí. .emit() es un método en un objeto eventEmitter y se llama para desencadenar eventos que otro código puede escuchar. El objeto del servidor http lo usa internamente para desencadenar eventos, pero enviar una respuesta http no tiene nada que ver con el objeto eventEmitter o .emit() . En su lugar, utiliza métodos en el objeto de respuesta para enviar una respuesta http al cliente.

¿Es obligatorio escribir emit después de on o no?

No. Por lo general, no usaría .emit() en un oyente .on() . Pero, realmente depende de cuál sea el evento y cómo se escribe el código que desencadenó el evento. En teoría, podría llamar a .emit() y desencadenar otros eventos en respuesta a un evento entrante, pero eso no es obligatorio y no suele ser así como se hacen las cosas. Por ejemplo, si estuviera escuchando eventos del teclado o eventos de clic del mouse, simplemente actuaría sobre esos eventos (haciendo lo que quisiera en función de los eventos de clic del mouse o del teclado entrantes) y no usaría .emit() para desencadenar más eventos.


Si está familiarizado con la biblioteca socket.io, es una biblioteca que envía respuestas al cliente con .emit() . Entonces escucharía un mensaje entrante con socket.on(...) y enviaría una respuesta al cliente con socket.emit(...) . Pero ese no es un diseño habitual y no es así como funciona el objeto del servidor http. En este caso, la biblioteca socket.io .emit() para hacer algo diferente de lo que normalmente hace con un objeto EventEmitter estándar.

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