Существует ли функция rxjs / другой способ сделать это (где, мы надеемся, существует функция):
let testOb$ = of(4).pipe(
<???>(input => of(input + 2)),
<???>(input => of(input - 3))
)
testOb$.subscribe(x => console.log(x))
// logs 4, then 6, then 3
// switchMap and mergeMap just returns 3
Обратите внимание, что значения должны приходить один за другим, а не заполнять все сразу, а затем записать 3 значения отдельно.
Вариант использования:
Я хочу загрузить несколько проблемных data
, состоящих из массива объектов.
Каждый из объектов имеет одно значение, которое слишком велико и, если загружено все вместе, вызывает значительное отставание. Но до тех пор, пока кто-то загружается первым, задержка пользовательского интерфейса отсутствует.
Итак, я хотел бы:
data$ = this._store.dispatch(fetchInitial())
.pipe(
<???>(data => fillInitial(data))
<???>(data => fillRemainder(data))
)
data$.subscribe(data => renderInput(data))
Это правильный подход?
Если нет, то что считается наилучшей практикой для этого вида использования с rxjs?