3

私のプロジェクトはrxjs beta2を使用するとうまくいきますが、beta6に更新するとコンパイルエラーの長いリストが表示されます:

component.ts(34,18): error TS2339: Property 'finally' does not exist on type 'Observable<T[]>'.
....
....
.component.ts(51,10): error TS2339: Property 'switchMap' does not exist on type 'Observable<Company>'.
....
....
service.ts(24,18): error TS2339: Property 'map' does not exist on type 'Observable<Response>'
....
....
node_modules/rxjs/add/observable/range.d.ts(2,16): error TS2435: Ambient modules cannot be nested in other modules.
node_modules/rxjs/add/observable/range.d.ts(2,16): error TS2436: Ambient module declaration cannot specify relative module name.
node_modules/rxjs/add/operator/catch.d.ts(2,16): error TS2435: Ambient modules cannot be nested in other modules.
node_modules/rxjs/add/operator/catch.d.ts(2,16): error TS2436: Ambient module declaration cannot specify relative m
..

次のように Observables をインポートしています。

import {Observable} from 'rxjs/Observable';

私は何を間違っていますか?

どうもありがとう

rc1 rxjs beta6 を使用して編集すると動作しますしかし、すべてのオブザーバブルに結果をキャストする必要がありました。使用する前に:

this._couseSourcesSvc.readAll ()
    .finally (() => sourcesSpinner.hide ())
    .subscribe (
        res => {
            this.sources = res;
        }

しかし今、私は使用する必要があります:

this._couseSourcesSvc.readAll ()
    .finally (() => sourcesSpinner.hide ())
    .subscribe (
        (res:Sources[]) => {
            this.sources = res;
        }

ご覧のとおり、結果をキャストする必要があるか、コンパイル エラーが発生します (res:Sources[])

Type '{}' is not assignable to type 'DocumentSource[]'.

これは正常ですか?

4

2 に答える 2