From fc341c3763081e6ae11a2c4f8ff56dd0f5360bec Mon Sep 17 00:00:00 2001 From: Lipis Date: Fri, 31 Jan 2020 23:34:14 +0200 Subject: [PATCH] Better handling of 404 errors when loading from backend (#608) --- src/scene/data.ts | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/scene/data.ts b/src/scene/data.ts index a5413e16..11e1cea3 100644 --- a/src/scene/data.ts +++ b/src/scene/data.ts @@ -158,13 +158,18 @@ export async function exportToBackend( export async function importFromBackend(id: string | null) { let elements: readonly ExcalidrawElement[] = []; let appState: AppState = getDefaultAppState(); - const response = await fetch(`${BACKEND_GET}${id}.json`).then(data => - data.clone().json(), - ); - if (response != null) { + const data = await fetch(`${BACKEND_GET}${id}.json`) + .then(response => { + if (!response.ok) { + window.alert(i18n.t("alerts.importBackendFailed")); + } + return response; + }) + .then(response => response.clone().json()); + if (data != null) { try { - elements = response.elements || elements; - appState = response.appState || appState; + elements = data.elements || elements; + appState = data.appState || appState; } catch (error) { window.alert(t("alerts.importBackendFailed")); console.error(error);