Skip to content

Commit 4c469e7

Browse files
committed
Fix dangling promises in forEach calls
This will ensure that we are awaiting all calls by using `Promise.all`.
1 parent 2ccdb9e commit 4c469e7

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

extensions/ql-vscode/src/query-history.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -616,7 +616,7 @@ export class QueryHistoryManager extends DisposableObject {
616616
const status = variantAnalysisStatusToQueryStatus(variantAnalysis.status);
617617

618618
if (items.length > 0) {
619-
items.forEach(async (item) => {
619+
items.forEach((item) => {
620620
const variantAnalysisHistoryItem = item as VariantAnalysisHistoryItem;
621621
variantAnalysisHistoryItem.status = status;
622622
variantAnalysisHistoryItem.failureReason = variantAnalysis.failureReason;
@@ -634,9 +634,9 @@ export class QueryHistoryManager extends DisposableObject {
634634

635635
const variantAnalysisRemovedSubscription = this.variantAnalysisManager.onVariantAnalysisRemoved(async (variantAnalysis) => {
636636
const items = this.treeDataProvider.allHistory.filter(i => i.t === 'variant-analysis' && i.variantAnalysis.id === variantAnalysis.id);
637-
items.forEach(async (item) => {
637+
await Promise.all(items.map(async (item) => {
638638
await this.removeVariantAnalysis(item as VariantAnalysisHistoryItem);
639-
});
639+
}));
640640
});
641641

642642
this.push(variantAnalysisAddedSubscription);
@@ -689,14 +689,14 @@ export class QueryHistoryManager extends DisposableObject {
689689
void logger.log(`Reading cached query history from '${this.queryMetadataStorageLocation}'.`);
690690
const history = await slurpQueryHistory(this.queryMetadataStorageLocation);
691691
this.treeDataProvider.allHistory = history;
692-
this.treeDataProvider.allHistory.forEach(async (item) => {
692+
await Promise.all(this.treeDataProvider.allHistory.map(async (item) => {
693693
if (item.t === 'remote') {
694694
await this.remoteQueriesManager.rehydrateRemoteQuery(item.queryId, item.remoteQuery, item.status);
695695
}
696696
if (item.t === 'variant-analysis') {
697697
await this.variantAnalysisManager.rehydrateVariantAnalysis(item.variantAnalysis, item.status);
698698
}
699-
});
699+
}));
700700
}
701701

702702
async writeQueryHistory(): Promise<void> {

0 commit comments

Comments
 (0)