以前我使用 rxjs-5 并且我使用 observable.partition 如下:
const [isTiming$, isNotTiming$] = this.store.select(state => state.tetris.isTiming)
.partition(value => value);
升级angular
到8
rxjs
升级后rxjs-6
开始抛出以下错误:
providers/timer.provider.ts(27,5): error TS2339: Property 'partition' does not exist on type 'Observable<boolean>'.
当我检查较旧的 rxjs 实现时,它的实现如下:
import { Observable } from '../Observable';
import { partition as higherOrder } from '../operators/partition';
/**
* Splits the source Observable into two, one with values that satisfy a
* predicate, and another with values that don't satisfy the predicate.
*/
export function partition<T>(this: Observable<T>, predicate: (value: T, index: number) => boolean, thisArg?: any): [Observable<T>, Observable<T>] {
return higherOrder(predicate, thisArg)(this);
}