improve error handling of client boot

This commit is contained in:
syuilo 2022-07-14 20:41:17 +09:00
parent 61e26696aa
commit cb00786f1e
1 changed files with 15 additions and 9 deletions

View File

@ -59,6 +59,7 @@
import(`/assets/${CLIENT_ENTRY}`) import(`/assets/${CLIENT_ENTRY}`)
.catch(async e => { .catch(async e => {
await checkUpdate(); await checkUpdate();
console.error(e);
renderError('APP_FETCH_FAILED', e); renderError('APP_FETCH_FAILED', e);
}) })
//#endregion //#endregion
@ -271,17 +272,22 @@
// eslint-disable-next-line no-inner-declarations // eslint-disable-next-line no-inner-declarations
async function checkUpdate() { async function checkUpdate() {
// TODO: サーバーが落ちている場合などのエラーハンドリング try {
const res = await fetch('/api/meta', { const res = await fetch('/api/meta', {
method: 'POST', method: 'POST',
cache: 'no-cache' cache: 'no-cache'
}); });
const meta = await res.json(); const meta = await res.json();
if (meta.version != v) { if (meta.version != v) {
localStorage.setItem('v', meta.version); localStorage.setItem('v', meta.version);
refresh(); refresh();
}
} catch (e) {
console.error(e);
renderError('UPDATE_CHECK_FAILED', e);
throw e;
} }
} }