-
Notifications
You must be signed in to change notification settings - Fork 8
merge
richardszalay edited this page May 20, 2011
·
10 revisions
Emits the values from multiple sources in the order that they arrive
static function merge(sources : Array.<IObservable>,
scheduler : IScheduler = null) : IObservable.<*>
function merge(sources : Array.<IObservable>,
scheduler : IScheduler = null) : IObservable.<*>
Where sources is an observable sequences of other sequences
If the list of sequences is, itself, a sequence, use mergeMany.
The returned sequence completes when the source sequence completes.
The returned sequence raises an error if the source sequence (sources) raises an error or if any of the merged sequences raises an error.
sources = sources / others
yz = output
sources ──o────o─────o─────/
│ │ │
│ │ │
└─o──│──/ │
│ │ │
│ └o──o─│───o─────o/
│ │ │ │ │ │
│ │ │ └o──│──o──│──o─/
│ │ │ │ │ │ │ │
ys ────o───o──o──o──o──o──o──o─/
sources ──o────o─────o────
│ │ │
│ │ │
└─o──│──/ │
│ │ │
│ └o──o─│───x
│ │ │ │ │
│ │ │ └o──│
│ │ │ │ │
ys ────o───o──o──o──x
IObservable.<*>
Observable.merge([
Observable.range(0, 3),
Observable.range(10, 3),
Observable.range(20, 3)
])
.subscribe(
function(value : int) : void { trace(value); },
function():void { trace("Completed"); }
);
// Trace output is:
// 0
// 10
// 20
// 1
// 11
// 21
// 2
// 12
// 22
// Completed