私のコードでは、matDialog
許可する XLSX 抽出を開きます。
この を開くmatDialog
と、データが に読み込まれますngOnInit()
。これには時間がかかる場合があります。そのため、3 つのクエリの結果が抽出されるまで待機できるようにcombineLatest()
withを使用しています。filter()
を追加しmat-progress-bar determinate
て、抽出の進行状況を確認したいと思います。そのために、受け取った結果ごとに変数を変更できるようにしたいと考えていprogress
ます。
そのため、リクエストごとに使用map(result => {this.progress = this.progress + 30;}
して進行状況を増やしました。それは動作しますが、私のcombineLatest()
. 進行が 90% で停止し、解決策が見つかりません。
コード:
this.subscriptions$.add(combineLatest([
this.storeWallets.loadInvoiceExtractionProduct(this.selectedWallet).pipe(
//map(result => { this.progress = this.progress + 30; }),
catchError(err => {
console.error(err.message);
return of(err);
})
),
this.storeWallets.loadInvoiceExtractionSupport(this.selectedWallet).pipe(
//map(result => { this.progress = this.progress + 30; }),
catchError(err => {
console.error(err.message);
return of(err);
})
),
this.storeWallets.loadInvoiceExtractionTraining(this.selectedWallet).pipe(
//map(result => { this.progress = this.progress + 30; }),
catchError(err => {
console.error(err.message);
return of(err);
})
),
]).pipe(
filter(results => results.every(res => !!res))
).subscribe(results => {
//this.progress = 100;
document.body.style.cursor = "default";
this.waitExtraction = false;
})
);
ご協力いただきありがとうございます。