diff --git a/lib/datastore-method-utils/help-run-transaction.js b/lib/datastore-method-utils/help-run-transaction.js index 8bdbbc7..4230076 100644 --- a/lib/datastore-method-utils/help-run-transaction.js +++ b/lib/datastore-method-utils/help-run-transaction.js @@ -7,6 +7,7 @@ var _ = require('@sailshq/lodash'); var flaverr = require('flaverr'); var helpLeaseConnection = require('./help-lease-connection'); var STRIP_COMMENTS_RX = /(\/\/.*$)|(\/\*[\s\S]*?\*\/)|(\s*=[^,\)]*(('(?:\\'|[^'\r\n])*')|("(?:\\"|[^"\r\n])*"))|(\s*=[^,\)]*))/mg; +var isPromise = require('is-promise'); /** @@ -105,7 +106,7 @@ module.exports = function helpRunTransaction(options, done){ });//_∏_ // Take care of unhandled promise rejections from `await` (if appropriate) - if (options.during.constructor.name === 'AsyncFunction') { + if (isPromise(promiseOrResultMaybe)) { if (!seemsToExpectCallback) { promiseOrResultMaybe = promiseOrResultMaybe.then(function(resultMaybe){ didDuringFnAlreadyHalt = true; diff --git a/lib/datastore-method-utils/private/do-with-connection.js b/lib/datastore-method-utils/private/do-with-connection.js index b96304c..e4e4fa6 100644 --- a/lib/datastore-method-utils/private/do-with-connection.js +++ b/lib/datastore-method-utils/private/do-with-connection.js @@ -6,6 +6,7 @@ var assert = require('assert'); var _ = require('@sailshq/lodash'); var flaverr = require('flaverr'); var STRIP_COMMENTS_RX = /(\/\/.*$)|(\/\*[\s\S]*?\*\/)|(\s*=[^,\)]*(('(?:\\'|[^'\r\n])*')|("(?:\\"|[^"\r\n])*"))|(\s*=[^,\)]*))/mg; +var isPromise = require('is-promise'); /** @@ -115,7 +116,7 @@ module.exports = function doWithConnection(options, done){ });//_∏_ // Take care of unhandled promise rejections from `await` (if appropriate) - if (options.during.constructor.name === 'AsyncFunction') { + if (isPromise(promiseOrResultMaybe)) { if (!seemsToExpectCallback) { promiseOrResultMaybe = promiseOrResultMaybe.then(function(resultMaybe){ didDuringFnAlreadyHalt = true; diff --git a/package.json b/package.json index 78a4824..bc0f336 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "async": "2.0.1", "chalk": "1.1.3", "flaverr": "^1.8.0", + "is-promise": "^4.0.0", "parley": "^3.3.2", "prompt": "0.2.14", "sails-disk": "^2.0.0",