You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Juha Paananen edited this page Jan 26, 2015
·
7 revisions
I put some diagrams to illustrate how some of the more involved bacon.js methods work.
merge
Merges events from both streams a and b into the result stream.
Result stream ends when both streams have ended.
combine
Combines the latest values of property a and stream or property b using a given function. In this example, a self-explanatory plus function is used.
First output event is generated when both a and b have produced a value. The combined stream ends when both the inputs have ended or one has ended without having produced a value.
sampledBy
Like combine, but only outputs a new value on a new value to the b stream.
Ends when b ends. If no function is given, just outputs the values of a.
flatMap
Creates a new stream for each value in the source stream, using the given function f. Merges the events from all created streams into the result stream.
Result stream ends when both the source stream and all the so-far created streams have ended.
flatMapLatest
Like flatMap, flatMapLatest creates new streams for each source event. Instead of merging all created streams, it "switches" (hence the former name "switch") between them so that when a new stream is created, the earlierly created stream is no longer listened to.
Result stream ends when source stream has ended and the latest created stream has ended.
scan
Scans stream a with given seed value. Result Property starts with the seed value and gets a new value for each new value in stream a. New values are generated using the given function, which in this case is given in the method accessor form ".concat", that will call the concat method of the strings involved.