我有一个可观察的数组similarIdeasObservable$
,另一个从服务器获取的类似this.ideaService.getSimilarIdeas()
的可观察数组。我想在不使用订阅的情况下合并这两个Observable数组。我怎样才能做到这一点?
我正在尝试以下方式
this.similarIdeasObservable$.pipe(concat(this.ideaService.getSimilarIdeas(this.idea).pipe(
concatMap(i => i),
toArray(),
catchError(error => {
throw error;
}),
finalize(() => {
this.loading = false;
})
)));
concat
已过时。
答案 0 :(得分:1)
我建议您使用forkJoin。
class RtsToolsViewSets(viewsets.ModelViewSet):
serializer_class = AgentSerializer
queryset = Agents.objects.all()
http_method_names = ['get']
的工作原理是,它需要完成输入可观察项(在下面的示例中为forkJoin
和observableA
),并最终将其用于返回数组表示的observable,由输入的observables返回的值组成。
observableB
答案 1 :(得分:0)
您可以使用merge
合并多个可观察的对象。
例如
import { merge } from 'rxjs';
const example = merge(
similarIdeasObservable$,
this.ideaService.getSimilarIdeas(this.idea)
);