NoFlo.js に触発されてから、highland.js を学んでいます。ストリームを再帰的に操作できるようにしたい。この不自然な例では、2 を掛けた数値を提供し、結果 <= 512 をフィルタリングします。数値が掛けられると、システムにフィードバックされます。私が持っているコードは機能しますが、パイプラインで doto 関数を取り出すと、数字は処理されません。データを returnPipe に間違って送り返していると思われます。データをシステムに戻すより良い方法はありますか? 私は何が欠けていますか?
###
input>--m--->multiplyBy2>---+
| |
| |
+---<returnPipe<----+
###
H = require('highland')
input = H([1])
returnPipe = H.pipeline(
H.doto((v)->console.log(v))
)
H.merge([input,returnPipe])
.map((v)-> return v * 2)
.filter((v)-> return v <= 512)
.pipe(returnPipe)