Browse Source

Merge pull request #246 from goto-bus-stop/chore/only-catch-beforeupload

core: Only catch errors from `onBeforeUpload`
Artur Paikin 7 năm trước cách đây
mục cha
commit
46b14b0c85
1 tập tin đã thay đổi với 8 bổ sung10 xóa
  1. 8 10
      src/core/Core.js

+ 8 - 10
src/core/Core.js

@@ -230,7 +230,10 @@ class Uppy {
   }
   }
 
 
   addFile (file) {
   addFile (file) {
-    return this.opts.onBeforeFileAdded(file, this.getState().files).then(() => {
+    return this.opts.onBeforeFileAdded(file, this.getState().files).catch((err) => {
+      this.emit('informer', err, 'error', 5000)
+      return Promise.reject(`onBeforeFileAdded: ${err}`)
+    }).then(() => {
       return Utils.getFileType(file).then((fileType) => {
       return Utils.getFileType(file).then((fileType) => {
         const updatedFiles = Object.assign({}, this.state.files)
         const updatedFiles = Object.assign({}, this.state.files)
         const fileName = file.name || 'noname'
         const fileName = file.name || 'noname'
@@ -288,10 +291,6 @@ class Uppy {
         }
         }
       })
       })
     })
     })
-    .catch((err) => {
-      this.emit('informer', err, 'error', 5000)
-      return Promise.reject(`onBeforeFileAdded: ${err}`)
-    })
   }
   }
 
 
   removeFile (fileID) {
   removeFile (fileID) {
@@ -669,7 +668,10 @@ class Uppy {
       return Promise.reject('Minimum number of files has not been reached')
       return Promise.reject('Minimum number of files has not been reached')
     }
     }
 
 
-    return this.opts.onBeforeUpload(this.getState().files).then(() => {
+    return this.opts.onBeforeUpload(this.getState().files).catch((err) => {
+      this.emit('informer', err, 'error', 5000)
+      return Promise.reject(`onBeforeUpload: ${err}`)
+    }).then(() => {
       this.emit('core:upload')
       this.emit('core:upload')
 
 
       const waitingFileIDs = []
       const waitingFileIDs = []
@@ -700,10 +702,6 @@ class Uppy {
         this.emit('core:success', waitingFileIDs)
         this.emit('core:success', waitingFileIDs)
       })
       })
     })
     })
-    .catch((err) => {
-      this.emit('informer', err, 'error', 5000)
-      return Promise.reject(`onBeforeUpload: ${err}`)
-    })
   }
   }
 }
 }