¿Cómo utilizar transmisiones legibles en Node.js?

Como Utilizar Transmisiones Legibles En Node Js



Los datos se transfieren a través de la red entre el remitente o el origen y el destino o el receptor en forma de flujos. Estas transmisiones se pueden crear y combinar con la utilización de varios métodos, y los archivos de audio o video también se pueden pasar a través de la transmisión. Los datos leídos se pueden insertar en otros archivos de destino usando ' escribir() ' y ' empujar() “Métodos también.

Esta guía explicará el uso de transmisiones legibles en Node.js.

¿Cómo utilizar transmisiones legibles en Node.js?

El ' Legible Las secuencias se crean invocando el comando ' crearReadStream() ”Y los datos leídos se pueden mostrar en la página web creando el servidor local. Los oyentes del evento con la ayuda de ' en() También se pueden adjuntar métodos a las secuencias legibles para mostrar mensajes o realizar acciones específicas cuando comienza o finaliza la lectura del archivo.







Eche un vistazo al ejemplo para ver una demostración práctica.



Ejemplo: lectura y visualización de contenido a través del servidor mediante secuencias legibles

En este ejemplo, el contenido de un archivo proporcionado se lee y luego se muestra en el navegador web:



constante fsObj = requerir ( 'fs' ) ;

constante httpObj = requerir ( 'http' ) ;

constante servidor local = httpObj. crearservidor ( ( solicitar respuesta ) => {

  intentar {
  // Archivo de destino para leer
  constante flujo de datos = fsObj. crearReadStream ( 'caso de uso.txt' ) ;
  // canaliza el archivo a la respuesta
flujo de datos. tubo ( respuesta ) ;
  } atrapar ( errores ) {
consola. error ( errores ) ;
  }
} ) ;

servidor local. escuchar ( 8080 , ( ) => {
consola. registro ( 'El servidor se está ejecutando en el número de puerto de Localhost: '8080' ' )
  } ) ;

La descripción del código anterior es la siguiente:





  • Primero, importe el requerido ' fs ' y ' http ' módulos y almacenar sus objetos en ' fsObj ' y ' httpObj ”variables respectivamente.
  • A continuación, se ha creado el servidor invocando el comando “ crearServidor() 'Método y almacenar este servidor recién creado en un' servidor local ' variable.
  • Luego, use un ' intentar 'Bloque dentro de la función de devolución de llamada del método e invoca el' crearReadStream() 'Método usando el' fsObj ' variable.
  • Pase el contenido del archivo de destino que debe leerse dentro del paréntesis de este método y almacene el resultado en el archivo ' flujo de datos ' variable.
  • Insertar el ' flujo de datos 'variable en el' .tubo() ”Método para enviar la respuesta.
  • Utilice el ' atrapar ”Bloque para manejar cualquier error ocurrido.
  • Finalmente, escuche o configure el servidor sobre el número de puerto ' 8080 ”Y muestra el mensaje de éxito con la ayuda de su función de devolución de llamada.

Ejecute el archivo que contiene (controlFlow.js) del código anterior que se realiza mediante el comando que se indica a continuación:

flujo de control de nodo. js

El resultado generado muestra que con la ayuda de ' .tubo() ' y ' Flujo legible ”, los datos del archivo se han leído y enviado a la secuencia de destino para mostrarlos en la página web:



Ejemplo 2: leer archivos estáticos localmente usando ReadStream

En este caso, se selecciona el archivo proporcionado en la transmisión y luego su contenido se muestra en la ventana de la consola con la ayuda de detectores de eventos:

constante fsObj = requerir ( 'fs' ) ;

constante flujoObj = fsObj. crearReadStream ( 'caso de uso.txt' ) ;

flujoObj. en ( 'datos' , ( contenido ) => {

consola. registro ( contenido. Encadenar ( ) ) ;

} ) ;

flujoObj. en ( 'fin' , ( ) => {

consola. registro ( ' \norte Terminé de leer el archivo. ) ;

} ) ;

flujoObj. tubo ( proceso. salida estándar ) ;

La descripción del código anterior es la siguiente:

  • Primero el ' fs 'El módulo se importa y su objeto se almacena en el archivo' fsObj ' variable.
  • A continuación, utilizando “ fsObj ' invoca el ' crearReadStream() ”Método y pasa la ruta del archivo de destino cuyo contenido debe recuperarse. Almacenar el resultado del método en una nueva variable “ flujoObj ”.
  • Adjunta ' en() 'Método con' streamObj 'que invoca una función de devolución de llamada cuando' datos ”se recupera. Los datos recuperados se pasan como parámetro para la función de devolución de llamada que convierte los datos al formato String y los muestra en la consola.
  • Adjunte nuevamente el “ en() 'método con' flujoObj ”Y esta vez su función de devolución de llamada muestra un mensaje final cuando se completa la lectura del archivo.

El resultado generado después de ejecutar el código anterior muestra que los datos leídos junto con el mensaje final se han mostrado en la consola:

Se trata del uso de transmisiones legibles en Node.js.

Conclusión

Para trabajar con secuencias legibles en Node.js, se utiliza el método de ' crearReadStream() ' se invoca a través del ' fs ”objeto del módulo. La ruta del archivo de destino en la que se debe escribir el contenido se pasa como parámetro del método. Se puede utilizar con el “ .tubo() 'Método para realizar más tareas sobre los datos recuperados, como escribir el contenido en otro archivo. Esta publicación ha ilustrado el procedimiento de trabajar con transmisiones legibles.