merge
複数の Observable を、すべてのソースからのすべての値を発行する単一の Observable にマージします。 いずれかのソース Observable が値を発行するたびに発行します。
Marble Diagram
Section titled “Marble Diagram”merge
// Timeline://// clicks$ c1 c2 c3// keys$ k1 k2 k3// events$ c1 k1 c2 k2 c3 k3//// Explanation:// - merge combines multiple observables into one// - Emits values from any source as they arrive// - Order is preserved based on emission time
const clicks$ = source<string>();
const keys$ = source<string>();
const events$ = merge([clicks$, keys$]);
const valueHistory: string[] = [];
events$.subscribe((event_) => { valueHistory.push(event_);});
clicks$.next('c1');
assert.deepStrictEqual(valueHistory, ['c1']);
keys$.next('k1');
assert.deepStrictEqual(valueHistory, ['c1', 'k1']);
clicks$.next('c2');
keys$.next('k2');
assert.deepStrictEqual(valueHistory, ['c1', 'k1', 'c2', 'k2']);