Cuando leí el código fuente, descubrí que el autor usará return donde no hay necesidad de usar return.
exports.getPort = function (options, callback) { // code... return _async.eachSeries(exports._defaultHosts, function(host, next) { // code ... return next(); } }¿Cuál es el propósito o la necesidad de este uso?
Lo siguiente es probablemente una promesa. Tal vez en su código no se use (no then / catch), pero podría (y debería) haber algo.
En caso de que no se haya devuelto la promesa, no hay forma de detectar errores o realizar llamadas asíncronas secuenciales.