펌프는 작은 노드 모듈로 스트리밍을 함께 파이프하고 그 중 하나가 닫히면 모든 것을 파괴합니다.
npm install pump
DEST (Dest)가 닫히거나 오류가 발생하면 표준 source.pipe(dest)
소스가 파괴되지 않습니다 . 또한 파이프가 완료된시기를 알 수있는 콜백을 제공 할 수 없습니다.
펌프는이 두 가지 일을합니다
파이프를 펌핑하기 위해 함께 파이프하고 싶은 스트림을 전달하고 선택적인 콜백을 추가하십시오.
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 )
펌프를 사용하여 두 개 이상의 스트림을 함께 파이프 할 수 있습니다.
var transform = someTransformStream ( )
pump ( source , transform , anotherTransform , dest , function ( err ) {
console . log ( 'pipe finished' , err )
} )
source
, transform
, anotherTransform
또는 dest
모두 닫히면 모든 것이 파괴됩니다.
stream.pipe()
와 마찬가지로 pump()
전달 된 마지막 스트림을 반환하여 다음을 수행 할 수 있습니다.
return pump(s1, s2) // returns s2
pump
오류 핸들러를 스트림에 첨부하여 내부 오류 처리를 수행하므로 s2
위 시나리오에서 오류가 발생하면 proccess.on('uncaughtException')
을 트리거하지 않으면 듣지 않습니다.
S1과 S2 를 결합한 스트림을 단일 스트림으로 결합한 스트림을 반환하려면 대신 Pumpify를 사용하십시오.
MIT
pump
는 미시시피 스트림 유틸리티 컬렉션의 일부로이 유사한 스트림 모듈이 포함되어 있습니다.
TideLift 구독의 일부로 제공됩니다.
펌프 관리자와 수천 개의 다른 패키지는 TideLift와 협력하여 응용 프로그램을 구축하는 데 사용하는 오픈 소스 의존성에 대한 상업적 지원 및 유지 보수를 제공하고 있습니다. 사용하는 정확한 종속성을 유지 관리자에게 지불하면서 시간을 절약하고 위험을 줄이며 코드 건강을 향상시킵니다. 자세히 알아보십시오.