2014-10-06 55 views
1

例如,如果我有有什麼方法可以在NodeJS中重複使用管道轉換鏈嗎?

readableStream.pipe(ws1).pipe(ws2).pipe(ws3) 

我怎樣才能信封變換鏈在一個單一的功能,然後再用它在另一個變換鏈?

我想要做一些這樣的:

var transformationChain1 = readableStream.pipe(ws1).pipe(ws2).pipe(ws3) 
readableStream2.pipe(transformationChain1).pipe(endWs) 

回答

3

你很可能

var combine = require('stream-combiner2') 
var ws = combine(ws1, ws2, ws3); 
readableStream2.pipe(ws).pipe(endWs); 
+0

是的傑羅姆,是的。謝謝 :) – Felo 2014-10-06 17:40:14

0

也許我誤解(和我的Node.js是生鏽所以這是完全可能的),但爲什麼不這樣做,你說什麼,敷在一個函數?

function transformationChain(rs) { 
    return rs.pipe(ws1).pipe(ws2).pipe(ws3); 
} 

var transformationChain1 = transformationChain(readableStream); 
readableStream2.pipe(transformationChain1).pipe(endWs); 
+0

我的觀點是,transformationChain的參數必須是readableStream2.pipe(),而不是一個新readableStream的結果。這對我也有點困惑。我想使用流合併器https://www.npmjs.org/package/stream-combiner,但也許我誤解和複雜的事情。 :) – Felo 2014-10-06 17:10:14

+0

我想這是在我的頭上,然後。也許它會幫助你畫一個圖,或者寫一個更具體的例子? – 2014-10-06 17:13:45

相關問題