我无法获取此代码进行类型检查。它可以编译并正常运行,我不清楚我是否丢失了某些内容,或者类型检查器是否很愚蠢。
import * as Rx from 'rxjs'
const foo : Rx.Observable<number> =
Rx.of<number>(1)
.pipe<number>(
switchMap<number,Rx.Observable<number>>(
(n : number) => Rx.of<number>(n)
)
)
我的实际示例更加复杂,如您所见,我添加了许多类型注释来尝试和帮助它,但是在结果类型中,这总是使我留下未实例化的自由变量。
Argument of type 'OperatorFunction<number, T>' is not assignable to parameter
of type 'OperatorFunction<number, number>'.
Type 'T' is not assignable to type 'number'. (tsx-tide)
答案 0 :(得分:0)
万一其他人遇到这种情况,它会通过更改我的tsconfig.json
来修复自身。不知道是哪个字段引起了问题,但是我做了以下更改:
module
从amd
切换到ESNext
(这可能有所帮助)target
从es6
切换到ES6
(我认为这没有任何作用)lib
,其中包含dom
,es2016
,es2016.array.include
"experimentalDecorators": true