我有一个函数,它返回一个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,并在回调函数中对其进行处理。
答案 0 :(得分:2)
使用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
})