首页 > 解决方案 > 如何正确使用静态 combineLatest

问题描述

RxJSv.6.5 开始,不推荐使用静态combineLatest语法 combined$ = combineLatest(a$,b$,c$);

相反,您应该使用以下语法:

combined$ = combineLatest([a$,b$,c$]);

他们在哪里:a$: Observable<T>, b$: Observable<U>, c$: Observable<V>

这个声明虽然给了我几个 linting 错误:

参数类型 [Observable<ObservableValueOf<Observable<T>>>, Observable<ObservableValueOf<Observable<U>>>, Observable<ObservableValueOf<Observable<V>>>] 不能分配给参数类型 [Observable<ObservableValueOf<Observable<T >>>]

那么,我的错误在哪里?非常感谢。

标签: rxjscombinelatest

解决方案


您应该导入combineLatestfromrxjs而不是rxjs/operators这样:

import { of, combineLatest } from 'rxjs';

const a$ = of(true);
const b$ = of(false);

combineLatest([a$, b$]).pipe(
      tap(console.log)
    ).subscribe();

希望能帮助到你。


推荐阅读