如何使用Rxjs 5.5`first`运算符在参数中具有不匹配类型?

时间:2018-03-13 09:58:34

标签: rxjs

我正在使用external package发出一个Observable:

getValue(key: string | Array<string>, interpolateParams?: Object): Observable<string | any> {
    return null;
  }

我也使用first可调运算符:

import { first } from "rxjs/operators/first";
this.getValue('f').let(first);  

但是我收到了一个错误:

  

类型'Observable'不提供签名'(值:   any,index:number,source:Observable):value is any'。

我可以看到问题的来源。 first运算符为:

  

导出函数优先(谓词?:(值:T,索引:数字,来源:   可观察的)=&gt; boolean):MonoTypeOperatorFunction;

我的Observable类型为<any>

问题:

如何修复我的lettable运算符以使用Observable ^?

Online-demo which shows the problem

1 个答案:

答案 0 :(得分:1)

尝试在let中先拨打电话。它将返回一个将由流应用的函数。如果pipe

,也请使用let
this.getValue('f').pipe(first())