私は現在、モジュールthrough2
、concat-stream
、request
を使用してNode.jsのストリームで練習しています。Node.jsのパイプチェーンを動的に拡張
request(process.argv[2])
.pipe(through(write, end))
.pipe(/*And */)
.pipe(/* Some */)
.pipe(/* more */)
.on("finish",function(){ #Do some stuff });
function write(buf, enc, nxt){
/*Push some data after some processing*/
}
function end(done){
done()
}
これは、パイプの静的なチェーンがある:
は、私はこのようなパイプ・チェーンを設定します。ユーザー入力の何らかの形で、パイプチェーンを動的に指定することは可能ですか?擬似コードで
:パイプ名を取り、各を通じてパイプ初期イベントストリーム関数を返すpiper
関数を定義
const pipesMap = {
pipeName1: require('pipe-module'),
pipeName2: function(){},
...
}
をJSためにあなたの擬似コードを翻訳中
array_of_user_pipes = from_some_input;
pipe_library = {pipe_name:pipe_callback} object, loaded into application logic
perform the url request (fetch .txt file over the internet)
for all pipe in array_of_user_pipes do
fetch pipe from pipe_library (simple key look-up)
chain pipe to chain
execute the (dynamic) pipe chain
使用して同じことを行うことができます。このアプローチを実装する際に特定の問題が発生しましたか? –
静的チェーンは 'メソッドチェーン化(method chaining) 'によって設定されているので、設定方法はあまりよく分かりません。反復している場合は不可能です。あるいは、チェーンにパイプを追加する別の方法がありますか? –