2016-12-03 77 views
1

我這個小片段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

回答

1

GitHub上最新版本的RxJS 4增加了一個typings聲明和相關d.ts文件,該文件定義了TypeScript的類型。

僅僅通過拆除舊rx@types/rx模塊升級到最新版本,並運行:

npm install --save Reactive-Extensions/RxJS 

注意語法Reactive-Extensions/RxJS這是使用GitHub的庫的源代碼的簡寫。

相關問題