Pump es un módulo de nodo pequeño que las tuberías se juntan y los destruye a todos si uno de ellos se cierra.
npm install pump
Cuando se usa source.pipe(dest)
no se destruirá si Dest emite cerca o un error. Tampoco puede proporcionar una devolución de llamada para saber cuándo la pipa ha terminado.
Pump hace estas dos cosas por ti
Simplemente pase las transmisiones que desea encender para bombear y agregar una devolución de llamada opcional
var pump = require ( 'pump' )
var fs = require ( 'fs' )
var source = fs . createReadStream ( '/dev/random' )
var dest = fs . createWriteStream ( '/dev/null' )
pump ( source , dest , function ( err ) {
console . log ( 'pipe finished' , err )
} )
setTimeout ( function ( ) {
dest . destroy ( ) // when dest is closed pump will destroy source
} , 1000 )
También puede usar la bomba para encender más de dos corrientes.
var transform = someTransformStream ( )
pump ( source , transform , anotherTransform , dest , function ( err ) {
console . log ( 'pipe finished' , err )
} )
Si source
, transform
, anotherTransform
transformación o dest
cierra todos ellos serán destruidos.
De manera similar a stream.pipe()
, pump()
devuelve la última transmisión pasada, para que pueda hacer:
return pump(s1, s2) // returns s2
Tenga en cuenta que pump
adjunta manipuladores de error a las transmisiones para hacer un manejo de errores internos, por lo que si s2
emite un error en el escenario anterior, no activará un proccess.on('uncaughtException')
si no lo escucha.
Si desea devolver una transmisión que combine S1 y S2 a una sola corriente, use Pumpify.
MIT
pump
es parte de la colección de utilidad de la corriente de Mississippi que incluye módulos de transmisión más útiles similares a este.
Disponible como parte de la suscripción de TidElift.
Los mantenedores de Pump y miles de otros paquetes están trabajando con TidElift para ofrecer soporte y mantenimiento comerciales para las dependencias de código abierto que utiliza para construir sus aplicaciones. Ahorre tiempo, reduzca el riesgo y mejore la salud del código, al tiempo que paga a los mantenedores de las dependencias exactas que usa. Aprende más.