当我更新到RxJS 6时,我的应用程序坏了。我可以正常使用它,但是这种方法让我很头疼。

以前,我们有一系列可观测的对象被flatMapped,然后像这样使用CombineLatest:

const newObservable = myArrayOfObservables
   .flatMap(observables => {
       return Observable.combineLatest(observables);
   });

我可以订阅newObservable并从其他所有列表中获取最新输出。

现在,我正在尝试执行以下操作:
const mergedList$ = chatList$.pipe(
  mergeMap(res => {
    return combineLatest(res);
  }));

这使我成为那些真正漫长而费解的人之一



坦率地说,我的阅读障碍使我无法解析。

如果我只是在上面返回res,然后尝试
const mergeCombo = combineLatest(mergedList$);

现在mergeCombo不是可观察的。相反,它是一个



可能值得注意的是,我的原始可观察对象是由AngularFireObject.snapshotChanges()发出的

最佳答案

您没有显示如何导入combineLatest。看起来好像您正在将其作为运算符导入,但已弃用。

确保像这样导入它:

import {combineLatest} from "rxjs";

然后您的原始代码应该可以正常工作:
const mergedList$ = chatList$.pipe(
  mergeMap(res => combineLatest(res))
);

关于firebase - 无法订阅CombineLatest的结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50977141/

10-12 00:07