0
我試圖弄清楚,如果在Bacon.js API中有一個函數允許訂閱一個EventStream,並且當第一個事件觸發時,該句柄被取消訂閱。要做到這一點,我知道的方法如下:如何在接收到的第一個事件中訂閱和取消訂閱EventStream?
let stream = new Bacon.Bus();
stream.onValue(val => {
doSomething(val);
return Bacon.noMore;
});
但有類似stream.onValueOnce
執行完成後自動取消處理程序?
我也知道有Bacon.once
創建一個EventStream返回一個值,然後結束流,但這不是我正在尋找。
更新
作爲保佑雅虎sais,採取或第一種方法可以使用。更具體地講,你必須從這樣的創建eventStream稱之爲:
let stream = new Bacon.Bus();
stream.first().onValue(val => {
doSomething(val);
});
這裏是一個小提琴,顯示它:
https://fiddle.jshell.net/3kjtwcwy/
完美。這正是我所尋找的 –