diff --git a/src/core/Core.js b/src/core/Core.js index 6027f1bee..537ac9a38 100644 --- a/src/core/Core.js +++ b/src/core/Core.js @@ -389,7 +389,13 @@ class Uppy { .catch((err) => { const message = typeof err === 'object' ? err.message : err this.info(message, 'error', 5000) - return Promise.reject(typeof err === 'object' ? err : new Error(err)) + const rejected = Promise.reject(typeof err === 'object' ? err : new Error(err)) + // Silence the unhandled rejection; we have already shown it to the user, + // so the consumer may not need to do anything with this result. + // Note that the result is still a rejected Promise, it will just not + // trigger unhandled rejection warnings in the browser console. + rejected.catch(() => {}) + return rejected }) }