当我更新到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/