将 Observable.pipe 的输入参数手动分解

2021-09-05  本文已影响0人  华山令狐冲

如下图所示:第38行的变量 this.selectedBrowser.valueChanges 是一个 Observable,我把传递到 pipe 方法的参数,分解成 op1 和 op2:

遇到错误消息:

Type 'Observable<unknown>' is not assignable to type 'Observable<FakeUserAgent>'.
Type 'unknown' is not assignable to type 'FakeUserAgent'.ts(2322)

解决办法,利用 TypeScript 的强类型,显式定义 MonoTypeOperatorFunction 的类型参数为 FakeUserAgent:

let op1 = filter((value: FakeUserAgent) => { console.log('in filter, new value: ' , value ); return value !== this.defaultOptionValue});

    let op2:MonoTypeOperatorFunction<FakeUserAgent> = takeUntil(this.destroy);

    this.fakeBrowserSelection$ = this.selectedBrowser.valueChanges.pipe( op1, op2 );

更多Jerry的原创文章,尽在:"汪子熙":


上一篇 下一篇

猜你喜欢

热点阅读