RxJS打字稿:房产“减少”的类型不存在“可观察

RxJS打字稿:房产“减少”的类型不存在“可观察<number>”

问题描述:

我这个小片段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)。

+0

它看起来像一个最近的提交[添加'typings'](https://github.com/Reactive-Extensions/RxJS/blob/master/package.json),所以你可以使用它 - 尝试' npm install --save Reactive-Extensions/RxJS'(并删除旧版本的RxJS以及您安装的类型)。 – Aurora0001

+1

是的,这是工作,谢谢!你是否想将其作为实际答案发布,以便我可以接受? – MeXx

GitHub上最新版本的RxJS 4增加了一个typings声明和相关d.ts文件,该文件定义了TypeScript的类型。

仅仅通过拆除旧rx@types/rx模块升级到最新版本,并运行:

npm install --save Reactive-Extensions/RxJS 

注意语法Reactive-Extensions/RxJS这是使用GitHub的库的源代码的简写。