私は誓います、RxJSは私の死になるでしょう。私はこれがRxJS、Typescript、またはAngularのいずれかの実装の実際のバグだと確信しています。これはthe RxJS docs page上で動作します(そのページ上のJavaScriptコンソールがRxJSサンドボックスとして機能します):角度/ RxJS/Typescriptは私のデータがオブジェクトであり、配列ではないと考えていますか?
new Rx.Observable(observer => observer.next([{
id: 0,
name: 'John Doe'
}, {
id: 1,
name: 'Jane Smith'
}]))
.map(data => data.filter(item => item.name === 'John Doe'))
.subscribe(data => console.log(data), err => console.log(err))
しかし、まったく同じコードは、私の角のアプリケーションで私にエラーProperty 'filter' does not exist on type '{}'.
を与えています。 data.filter
部分を参照してください。その時点でdata
が最も確かに配列なので、なぜそうは思わないのか分かりません。
アプリケーションが使用しているrxjsのバージョンを更新しましたが、何も変更されませんでした。どんな支援も大歓迎です。 RxJSは、これらの不一致がなくてもすでに十分に難しいです!
これは、typescriptコンパイラによって投げられた型の問題です。角度コードを投稿できますか? – LLai
興味深い 'data'は' any'型でなければなりません。それはRxによって引き起こされたようです。それが設計であるかどうかわからない。とにかくこれを修正するには、 'new Rx.Observable'のように、オブザーバブルにラップされたデータのタイプを追加することができます。 –
Hrmm ..任意の再現性?しかし、plnkrでもうまくいく。 http://plnkr.co/edit/gKe19SNASo4trdpkjKl5?p=preview – CozyAzure