最近、私はAngularの「クイックスタート」でゼロから作成された大きなプロジェクトを、Angular CLI 1.5.5現時点では、発生するさまざまな問題を修正していますが、この問題を修正することはできません。
私は、rxjsのlettable演算子を使用した方が良いと読みました。ただし、次のコード行もあります。
import { Observable } from "rxjs/Observable";
import "rxjs/add/observable/forkjoin";
...
let piecesGrouping$: Observable<IGroupedPiece[]>[] = deliveries.map(delivery => this._pieceService.getGroupedPieces(delivery.pieces));
Observable
.forkJoin(...piecesGrouping$)
.subscribe((groups) => {
groups.forEach((group, i) => deliveries[i].groupedPieces = group);
resolve();
});
Rxjs 5.4.3を使用していた以前のバージョンでは非常にうまく機能していましたが、現在はrxjs 5.5.2で動作しなくなり、次のエラーが表示されます。
エラーエラー:キャッチされません(約束):TypeError:未定義のプロパティ 'apply'を読み取ることができませんTypeError:未定義のプロパティ 'apply'を読み取ることができません
エラーがforkJoin
自体について何も言っていないので、私はスプレッド演算子をpiecesGrouping$[0], piecesGrouping$[1]
に置き換えようとしました。
エラーエラー:不明(約束):TypeError:WEBPACK_IMPORTED_MODULE_8_rxjs_Observable。a.forkJoinは関数ではありませんTypeError:WEBPACK_IMPORTED_MODULE_8_rxjs_Observable。a.forkJoinは関数ではありません
したがって、forkJoin
を間違った方法でインポートしているように見えます。 「rxjs/observable/forkJoin」からインポートしようとしましたが、どちらも機能しませんでした。
私は何が欠けていますか?
Observable
パッチを使用せず、forkJoin
を直接使用します。
import {forkJoin} from "rxjs/observable/forkJoin";
forkJoin(...piecesGrouping$).subscribe()
関数として使用する必要があります
forkJoin(...piecesGrouping$)
.subscribe((groups) => {
groups.forEach((group, i) => deliveries[i].groupedPieces = group);
resolve();
});
importステートメントは次のように変更されます
import { forkJoin } from "rxjs/observable/forkJoin";
これは5.2
versionの一部としてリリースされました。 ログの変更を読む