refactor: use while loop rather than recursive calls

This commit is contained in:
izzy
2025-11-24 15:31:07 +00:00
parent b99d92961c
commit 1ad2282166

View File

@@ -34,20 +34,25 @@ export const loadMaintenanceAuth = async () => {
}; };
export const loadMaintenanceStatus = async () => { export const loadMaintenanceStatus = async () => {
try { let loaded = false;
const status = await maintenanceStatus(); while (!loaded) {
maintenanceStore.status.set(status); try {
const status = await maintenanceStatus();
maintenanceStore.status.set(status);
if (status.action === MaintenanceAction.End) { if (status.action === MaintenanceAction.End) {
websocketStore.serverRestarting.set({ websocketStore.serverRestarting.set({
isMaintenanceMode: false, isMaintenanceMode: false,
}); });
} }
} catch (error) { } catch (error) {
const status = (error as { status: number })?.status; const status = (error as { status: number })?.status;
if (status && status >= 500 && status < 600) { if (status && status >= 500 && status < 600) {
await new Promise((r) => setTimeout(r, 1e3)); await new Promise((resolve) => setTimeout(resolve, 1000));
await loadMaintenanceStatus(); continue;
}
throw error;
} }
} }
}; };