Está en la página 1de 2

NODE JS

STREAMS:

Es una colección de datos los cuales no están disponibles en su totalidad en el mismo


momento, es decir, que va creandose pedazo por pedazo.
Son usados para administrar procesamiento de datos asíncronos.

BENEFICIOS:

 Eficiencia de memoria: no se necesita leer todo los archivos en seguida, este


puede hacerse por pedazos.
 Manejar los datos a medida que llegan.
 Eficiencia de tiempos.
 Componible (Composable): Pueden ser conectados y combinados con otros
Streams.

TIPOS DE STREAMS:

1. Readable: Streams de lectura (Solo se puede jalar datos para ser leidos (pull)).
2. Writable: Streams de escritura (Solo se puede colocar datos para ser leidos(push) ).
3. Duplex: (puede producir Streams y puede recibir Streams)
4. Transform: Es un tipo de Stream Duplex que puede ser alterado.
4.1. PassThrough: Es un tipo de Stream Duplex que no puede ser alterado y es usado para
ejemplos y temas relacionados con Testing.

STREAM EVENTS:

 EventEmitter: es usado para emitir y responder eventos asincronos, puede ser usado
para leer y escribir datos. Con el se puede administrar estados de Stream y administrar
errores, aunque no es recomendable interactuar con streams via events.

 La forma mas recomendada para interactuar con Streams es mediante pipes y metodos
pipelines, quienes consumen y administran los Streams por nosotros.

 Los eventos son utiles para un control detallado de los flujos.

READABLE STREAMS EVENTS:

 data: se emite cuando la secuencia genera una parte de los datos. El fragmento de
datos se pasa al controlador.
 readable: se emite cuando hay datos listos para ser leídos desde la transmisión.
 end: Se emite cuando no hay más datos disponibles para el consumo.
 error: se ha producido un error en la secuencia y se pasa un objeto de error al
controlador. Los errores de transmisión no controlados pueden bloquear su programa.

WRITABLE STREAMS EVENTS:

 drain: El búfer interno del flujo grabable se ha vaciado y está listo para que se escriban
más datos en él.
 finish: Todos los datos se han escrito en el sistema subyacente.
 error: se produjo un error al escribir datos y se pasa un objeto de error al controlador.
Los errores de transmisión no controlados pueden bloquear su programa.

CONNECT STREAMS WITH PIPE:

pipe: Conecta streams juntos. Este metodo administra eventos


pipe: Permite enviar datos desde la interfaz readable dentro de la interfaz Writable, este
metodo esta disponible en readable, duplex y transform streams.

CREATE FILE STREAMS WITH fs:

 fs.createReadStream: Read data from a file.


 fs.createWriteStream: Write data to a file.

CONNECT STREAMSWITH pipeline:

 Añadido en Node v10.0.0


 Mejora sobre el uso de pipes.

También podría gustarte