Browse Source

mute FS abort errors (#1929)

David Luzar 5 years ago
parent
commit
494b7d08c5
1 changed files with 15 additions and 8 deletions
  1. 15 8
      src/actions/actionExport.tsx

+ 15 - 8
src/actions/actionExport.tsx

@@ -8,6 +8,14 @@ import useIsMobile from "../is-mobile";
 import { register } from "./register";
 import { KEYS } from "../keys";
 
+const muteFSAbortError = (error?: Error) => {
+  // if user cancels, ignore the error
+  if (error?.name === "AbortError") {
+    return;
+  }
+  throw error;
+};
+
 export const actionChangeProjectName = register({
   name: "changeProjectName",
   perform: (_elements, appState, value) => {
@@ -65,9 +73,9 @@ export const actionChangeShouldAddWatermark = register({
 export const actionSaveScene = register({
   name: "saveScene",
   perform: (elements, appState, value) => {
-    saveAsJSON(elements, appState, (window as any).handle).catch((error) =>
-      console.error(error),
-    );
+    saveAsJSON(elements, appState, (window as any).handle)
+      .catch(muteFSAbortError)
+      .catch((error) => console.error(error));
     return { commitToHistory: false };
   },
   keyTest: (event) => {
@@ -88,7 +96,9 @@ export const actionSaveScene = register({
 export const actionSaveAsScene = register({
   name: "saveAsScene",
   perform: (elements, appState, value) => {
-    saveAsJSON(elements, appState, null).catch((error) => console.error(error));
+    saveAsJSON(elements, appState, null)
+      .catch(muteFSAbortError)
+      .catch((error) => console.error(error));
     return { commitToHistory: false };
   },
   keyTest: (event) => {
@@ -135,11 +145,8 @@ export const actionLoadScene = register({
           .then(({ elements, appState }) => {
             updateData({ elements: elements, appState: appState });
           })
+          .catch(muteFSAbortError)
           .catch((error) => {
-            // if user cancels, ignore the error
-            if (error.name === "AbortError") {
-              return;
-            }
             updateData({ error: error.message });
           });
       }}