我想知道如果 Bacon.js API中有一个允许订阅EventStream的函数,并且当第一个事件触发时,该句柄被取消订阅。我知道的方法如下:
let stream = new Bacon.Bus();
stream.onValue(val => {
doSomething(val);
return Bacon.noMore;
});
但有没有类似stream.onValueOnce
的内容在执行后自动取消订阅处理程序?
我也知道有Bacon.once
创建一个EventStream,它返回一个值,然后结束流,但这不是我要找的。 p>
更新
作为Bless Yahu sais,可以使用take或first方法。更具体地说,您必须从创建的eventStream中调用它:
let stream = new Bacon.Bus();
stream.first().onValue(val => {
doSomething(val);
});
这是一个表明它的小提琴:
答案 0 :(得分:1)
stream.take(1)怎么样? https://baconjs.github.io/api.html#observable-take
还是stream.first()? https://baconjs.github.io/api.html#observable-first