Это потому, что вы передаете массив в слияние. Это должен быть список параметров. Измените на:
const onEither$ = merge(
observable1$,
observable2$,
);
Причина, по которой он завершается, заключается в том, что внутренне rx js вызывает метод from
, который преобразует массив в наблюдаемый поток элементов массива. Таким образом, в основном ваш onEither$
получает два выброса, которые имеют значение обоих наблюдаемых объектов в массиве. После того, как они были выпущены, наблюдаемое завершается.
Наблюдаемые в массиве остаются нетронутыми, потому что они просто используются в качестве значения и фактически не подписываются на