У меня есть поток outer
. Я хочу использовать этот поток двумя способами. Первым способом является просто прослушивание значений. Второй способ - создать новый поток с flatMapConcat
.Как форвард/дублировать поток
Но я не могу сделать оба сразу. Я думаю, что мне нужно разветвить или дублировать поток.
Я пробовал добавить автобус, но он не работает.
var outer = Bacon.fromArray([1, 2, 3, 4, 5]);
// 1.way build a new stream
var combined = outer.flatMapConcat(function(v) {
return Bacon.sequentially(1000, ["a" + v, "b" + v]);
});
// 2. way use the plain stream
// outer.onValue(function(v) { console.log(v); });
// Tried to insert a bus
var forkBus = new Bacon.Bus();
forkBus.plug(outer);
forkBus.onValue(function(v) {
console.log('outer side' + v);
});
combined.take(3).log();
Как я могу развить поток/дублировать поток, чтобы использовать его двумя разными способами?
Вы также можете превратить свой примерный поток в async с помощью простого '.delay (0)' – OlliM