Service.ts ファイル
バージョン 5 コード:
return this.connectionListStoreService.connections$.pipe(
combineLatest(this.isLoadPending$),
filter(([connections, isPending]) => !isPending),
map(([connections]) => connections),
combineLatest(
this.adapterStoreService.adapters$,
this.applicationsStoreService.applications$
),
map(([connections, adapters, applications]) => {
if (!connections || !adapters || !applications) {
return;
}
return connections
.filter(connection => connection.source && connection.destination)
.map((connection) => ({
...connection,
source: {
...connection.source,
adapter: adapters.find((item) => item.id === connection.source.appTypeId),
application: applications.find((item) => item.id === connection.source.applicationId)
},
destination: {
...connection.destination,
adapter: adapters.find((item) => item.id === connection.destination.appTypeId),
application: applications.find((item) => item.id === connection.destination.applicationId)
}
}))
.filter(({ source, destination }) =>
source.application && source.adapter && destination.application && destination.adapter);
})
);
バージョン 6 コード:
return combineLatest([this.connectionListStoreService.connections$, this.isLoadPending$]).pipe(
filter(([connections, isPending]) => !isPending),
map(([connections]) => connections),
combineLatest([this.adapterStoreService.adapters$, this.applicationsStoreService.applications$]),
map(([connections, adapters, applications]) => {
if (!connections || !adapters || !applications) {
return;
}
return connections
.filter(connection => connection.source && connection.destination)
.map((connection) => ({
...connection,
source: {
...connection.source,
adapter: adapters.find((item) => item.id === connection.source.appTypeId),
application: applications.find((item) => item.id === connection.source.applicationId)
},
destination: {
...connection.destination,
adapter: adapters.find((item) => item.id === connection.destination.appTypeId),
application: applications.find((item) => item.id === connection.destination.applicationId)
}
}))
.filter(({ source, destination }) =>
source.application && source.adapter && destination.application && destination.adapter);
})
)
この古いコードをオンライン ガイドラインの新しいコードに変更しました。combineLatest
この関数にネストされた問題に直面しています:
エラー:
@deprecated — resultSelector はサポートされなくなりました。代わりにパイプでマップします
タイプ 'Observable<[AdapterModel[], ApplicationModel[]]>' の引数は、タイプ 'OperatorFunction<unknown, unknown>' のパラメーターに割り当てられません。
タイプ 'Observable<[AdapterModel[], ApplicationModel[]]>' は署名 '(source: Observable): Observable'.ts(2345) に一致しません
RXJSのバージョン:「6.6.3」、
私の側から必要な追加情報があるかどうかお知らせください。前もって感謝します。