Simplify retry mechanism to get system version (#10198)

This commit is contained in:
mingpepe 2024-01-16 21:59:16 +08:00 committed by GitHub
parent 52b400c793
commit 6a2cc1e91e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -540,35 +540,29 @@ const initKernel = (workspace, port, lang) => {
}); });
} }
let gotVersion = false;
let apiData; let apiData;
let count = 0; let count = 0;
writeLog("checking kernel version"); writeLog("checking kernel version");
while (!gotVersion && count < 15) { while (true) {
try { try {
const apiResult = await net.fetch(getServer() + "/api/system/version"); const apiResult = await net.fetch(getServer() + "/api/system/version");
apiData = await apiResult.json(); apiData = await apiResult.json();
gotVersion = true;
bootWindow.setResizable(false); bootWindow.setResizable(false);
bootWindow.loadURL(getServer() + "/appearance/boot/index.html"); bootWindow.loadURL(getServer() + "/appearance/boot/index.html");
bootWindow.show(); bootWindow.show();
break;
} catch (e) { } catch (e) {
writeLog("get kernel version failed: " + e.message); writeLog("get kernel version failed: " + e.message);
await sleep(200); if (14 < ++count) {
} finally {
count++;
if (14 < count) {
writeLog("get kernel ver failed"); writeLog("get kernel ver failed");
showErrorWindow("⚠️ 获取内核服务端口失败 Failed to get kernel serve port", "<div>获取内核服务端口失败,请确保程序拥有网络权限并不受防火墙和杀毒软件阻止。</div><div>Failed to get kernel serve port, please make sure the program has network permissions and is not blocked by firewalls and antivirus software.</div>"); showErrorWindow("⚠️ 获取内核服务端口失败 Failed to get kernel serve port", "<div>获取内核服务端口失败,请确保程序拥有网络权限并不受防火墙和杀毒软件阻止。</div><div>Failed to get kernel serve port, please make sure the program has network permissions and is not blocked by firewalls and antivirus software.</div>");
bootWindow.destroy(); bootWindow.destroy();
resolve(false); resolve(false);
}
}
}
if (!gotVersion) {
return; return;
} }
await sleep(200);
}
}
if (0 === apiData.code) { if (0 === apiData.code) {
writeLog("got kernel version [" + apiData.data + "]"); writeLog("got kernel version [" + apiData.data + "]");