rxjs передает forkjoin в функцию, которая возвращает массив наблюдаемых - PullRequest
0 голосов
/ 08 января 2019

У меня есть функция, которая возвращает массив Observables

function getMultipleObservables() {
    let coordinationObservables: Observable<any>[] = [];
    coordinationObservables.push(Observable.of([1,2,3,4]))
    coordinationObservables.push(Observable.of([1,2,3,4]))
    return coordinationObservables
}

У меня есть другая часть цепочек кода, несколько таких наблюдаемых:

this.someService.flatMap(()=>{
    return Observable.forkJoin((getMultipleObservables())=>{
        //handle the responses
    })
}).subscribe(()=>{

})

Поэтому мой вопрос заключается в том, как правильно передать функцию в качестве параметра в forkJoin и обработать ее в функции обратного вызова.

1 Ответ

0 голосов
/ 08 января 2019

Используйте оператор spread .

return Observable.forkJoin(...getMultipleObservables()).map((data) => {
     // do something, write your code here
     // later subscribe it wherever it is returning
     // using map() like this is works for rxjs < 5.5,
     // use it under pipe() if you have a higher version
     // like: forkjoin(...getMultipleObservables()).pipe(map());
     return modifiedData // if modified, else no need to add map
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...