У меня есть метод cancelPreload
, где я собрал n
число Observable<void>
s внутри массива.Чего я хочу добиться, так это вернуть один Observable<void>
, если все наблюдаемые внутри массива завершаются успешно.Я использую оператор forkJoin
с комбинацией оператора распространения ...
.Проблема в том, что когда я вызываю метод cancelPreload
, он выполняет только первую наблюдаемую часть внутри myArrayOfObservables
, остальные наблюдаемые почему-то игнорируются.Любая идея, почему и как это исправить?
public cancelPreload(): Observable<void> {
...
some boring stuff
...
const myArrayOfObservables: Observable<void>[] = [obs1, obs2, ..., obsn]
return forkJoin(...myArrayOfObservables)
}
...
calling the method in other part of the app
...
this.cancelPreload.subscribe() // only obs1 get executed,
other observables inside
myArrayOfObservables are ignored
РЕДАКТИРОВАТЬ:
Я решил это с оператором merge
, но я не понимаюпочему merge
работает, а forkJoin
- нет.