Skip to content

Commit e17e295

Browse files
simplify
1 parent 1dead40 commit e17e295

File tree

2 files changed

+10
-24
lines changed

2 files changed

+10
-24
lines changed

src/AzureAppConfigurationImpl.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import { IKeyValueAdapter } from "./IKeyValueAdapter.js";
99
import { JsonKeyValueAdapter } from "./JsonKeyValueAdapter.js";
1010
import { DEFAULT_REFRESH_INTERVAL_IN_MS, MIN_REFRESH_INTERVAL_IN_MS } from "./RefreshOptions.js";
1111
import { Disposable } from "./common/disposable.js";
12-
import { ExclusiveExecutor } from "./common/mutex.js";
1312
import { FEATURE_FLAGS_KEY_NAME, FEATURE_MANAGEMENT_KEY_NAME } from "./featureManagement/constants.js";
1413
import { AzureKeyVaultKeyValueAdapter } from "./keyvault/AzureKeyVaultKeyValueAdapter.js";
1514
import { RefreshTimer } from "./refresh/RefreshTimer.js";
@@ -41,7 +40,7 @@ export class AzureAppConfigurationImpl implements AzureAppConfiguration {
4140
#isInitialLoadCompleted: boolean = false;
4241

4342
// Refresh
44-
#refreshExecutor: ExclusiveExecutor = new ExclusiveExecutor();
43+
#refreshInProgress: boolean = false;
4544

4645
#refreshInterval: number = DEFAULT_REFRESH_INTERVAL_IN_MS;
4746
#onRefreshListeners: Array<() => any> = [];
@@ -353,7 +352,15 @@ export class AzureAppConfigurationImpl implements AzureAppConfiguration {
353352
throw new Error("Refresh is not enabled for key-values or feature flags.");
354353
}
355354

356-
await this.#refreshExecutor.execute(this.#refreshTasks.bind(this));
355+
if (this.#refreshInProgress) {
356+
return;
357+
}
358+
this.#refreshInProgress = true;
359+
try {
360+
await this.#refreshTasks();
361+
} finally {
362+
this.#refreshInProgress = false;
363+
}
357364
}
358365

359366
async #refreshTasks(): Promise<void> {

src/common/mutex.ts

Lines changed: 0 additions & 21 deletions
This file was deleted.

0 commit comments

Comments
 (0)