A bomba é um módulo de nó pequeno que tubula os riachos e destrói todos eles se um deles fechar.
npm install pump
Ao usar a fonte Standard source.pipe(dest)
não será destruído se o destes emitir fechar ou um erro. Você também não pode fornecer um retorno de chamada para saber quando o Pipe terminar.
bomba faz essas duas coisas para você
Basta passar os fluxos que você deseja colocar juntos para bombear e adicionar um retorno de chamada 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 )
Você pode usar a bomba para tubar mais de dois fluxos juntos também
var transform = someTransformStream ( )
pump ( source , transform , anotherTransform , dest , function ( err ) {
console . log ( 'pipe finished' , err )
} )
Se source
, transform
, anotherTransform
ou dest
, todos eles serão destruídos.
Da mesma forma que stream.pipe()
, pump()
retorna o último fluxo passado, para que você possa fazer:
return pump(s1, s2) // returns s2
Observe que pump
anexa os manipuladores de erro aos fluxos para fazer o manuseio interno de erros; portanto, se s2
emite um erro no cenário acima, ela não acionará um proccess.on('uncaughtException')
se você não ouvir.
Se você deseja devolver um fluxo que combine S1 e S2 a um único fluxo, use o Pumpify.
Mit
pump
faz parte da coleção de utilitários de fluxo do Mississippi, que inclui módulos de fluxo mais úteis semelhantes a este.
Disponível como parte da assinatura do Tidelift.
Os mantenedores de bomba e milhares de outros pacotes estão trabalhando com o Tidelift para fornecer suporte e manutenção comercial para as dependências de código aberto que você usa para criar seus aplicativos. Economize tempo, reduza o risco e melhore a saúde do código, enquanto paga aos mantenedores das dependências exatas que você usa. Saber mais.