2016-06-26 2 views
0

my_Stream - это данные, которые я хочу скопировать и назначить переменной для дальнейшей обработки. Мой вопрос: как получить содержимое переменной the_string в console.log ОДИН ИЗ ПОТОКА?Аккумулятор Bacon.js

my_Stream.onValue(function(value) { 
the_string = the_string.concat(value); 
}); 

Мой полный код можно найти в странице выдачи GitHub: github.com/nodeschool/discussions/issues/1778

ответ

1

То, что вы хотите использовать fold, который сканирует поток и выводит значение только тогда, когда поток заканчивается.

const stream = Bacon.sequentially(100, ["Hello", "world"])  
stream.log("stream") 
const concatenated = stream.fold("", (a,b) => a + b) 
concatenated.log("concatenated") 

http://jsbin.com/yodudiqovi/edit?html,js,console

+0

В jsbin он работает, но не проходит тест блока. Чтобы дать немного контекста, я создал поток, используя Bacon.fromBinder в качестве буфера для запроса HTTP, ответа. Да, я мог бы использовать более простой буфер lib (например, bl.js). Использование Bacon.js в качестве буфера кажется излишним. Что расстраивает, так это то, что onValue() работает для log() содержимого потока, но не позволяет привязывать к fold(). – nogo10

+0

У вас есть рабочий пример вашего кода, который вы могли бы поделиться? Не видя кода, вам очень сложно помочь. – OlliM

+0

Im new to stackoverflow, не может правильно форматировать код .. так вот страница с github с моим кодом: https://github.com/nodeschool/discussions/issues/1778 – nogo10