我剛剛在NoFlo.js的啓發下學習了highland.js。我希望能夠遞歸地操作流。在這個人爲的例子中,我將提供一個乘以2的數字,我們過濾結果< = 512。一旦數字相乘,它就會反饋到系統中。我有代碼的工作,但如果我拿出管道中的多託功能它不處理任何數字。我懷疑我不正確地將數據發送回returnPipe。有沒有更好的方法將數據傳回系統?我錯過了什麼?highlandjs中的循環數據流
###
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)
你怎麼知道它沒有處理任何數字? – RadleyMith
只要doto呼叫在那裏就行。我只想管數據,而不必在其中放入諸如doto之類的不必要的功能。 –