RxJS打字稿:房产“减少”的类型不存在“可观察”
问题描述:
我这个小片段RxJS打字稿:房产“减少”的类型不存在“可观察<number>”
const observable:Observable<number> = Observable.from([1, 2, 3])
.reduce((sum: number, number: number) => {
return sum + number
}, 0)
observable.subscribeOnNext((sum) => console.log(sum))
它正常工作,但打字稿编译器生成此错误:
如果reduce
更改为scan
,则错误消失(=编译器找到scan
的定义,但不定义reduce
)。
我使用npm,并安装了typescript(2.0.10),rx(4.1.0)和@ types/rx(2.5.34)。
答
GitHub上最新版本的RxJS 4增加了一个typings
声明和相关d.ts
文件,该文件定义了TypeScript的类型。
仅仅通过拆除旧rx
和@types/rx
模块升级到最新版本,并运行:
npm install --save Reactive-Extensions/RxJS
注意语法Reactive-Extensions/RxJS
这是使用GitHub的库的源代码的简写。
它看起来像一个最近的提交[添加'typings'](https://github.com/Reactive-Extensions/RxJS/blob/master/package.json),所以你可以使用它 - 尝试' npm install --save Reactive-Extensions/RxJS'(并删除旧版本的RxJS以及您安装的类型)。 – Aurora0001
是的,这是工作,谢谢!你是否想将其作为实际答案发布,以便我可以接受? – MeXx