diff --git a/packages/minimongo/cursor.js b/packages/minimongo/cursor.js index 0c119a8f81..aaf43c80e2 100644 --- a/packages/minimongo/cursor.js +++ b/packages/minimongo/cursor.js @@ -520,6 +520,10 @@ export default class Cursor { ASYNC_CURSOR_METHODS.forEach(method => { const asyncName = getAsyncMethodName(method); Cursor.prototype[asyncName] = function(...args) { - return Promise.resolve(this[method].apply(this, args)); + try { + return Promise.resolve(this[method].apply(this, args)); + } catch (error) { + return Promise.reject(error); + } }; }); diff --git a/packages/mongo/collection.js b/packages/mongo/collection.js index d5b99edae4..6459e3e5f4 100644 --- a/packages/mongo/collection.js +++ b/packages/mongo/collection.js @@ -919,6 +919,10 @@ function popCallbackFromArgs(args) { ASYNC_COLLECTION_METHODS.forEach(methodName => { const methodNameAsync = getAsyncMethodName(methodName); Mongo.Collection.prototype[methodNameAsync] = function(...args) { - return Promise.resolve(this[methodName](...args)); + try { + return Promise.resolve(this[methodName](...args)); + } catch (error) { + return Promise.reject(error); + } }; }); diff --git a/packages/mongo/mongo_driver.js b/packages/mongo/mongo_driver.js index 7b7b24ec00..cad7529939 100644 --- a/packages/mongo/mongo_driver.js +++ b/packages/mongo/mongo_driver.js @@ -945,7 +945,11 @@ Cursor.prototype.count = function () { const methodNameAsync = getAsyncMethodName(methodName); Cursor.prototype[methodNameAsync] = function (...args) { - return Promise.resolve(this[methodName](...args)); + try { + return Promise.resolve(this[methodName](...args)); + } catch (error) { + return Promise.reject(error); + } }; });