code: function asyncerr(err, cb) {
    if (!util.isError(err, Error))
      return debug(BAD_ERR_ERR);
  
    if (typeof err.message === 'string' && err.message.length)
      debug(err.message);
  
    if (typeof err.stack === 'object')
      debug(err.stack);
  
    if (!is.func(cb))
      return debug(BAD_CB_ERR+util.inspect(cb));
  
    // call the callback on the next tick of the event loop
    process.nextTick(function() {
      cb(err);
    });
  }
docs: A convenience function to make otherwise sync errors async. If you give
  asyncerr incorrect arguments, it will send messages to the console via the
  debug module, but that's it.
  @param {Object} err A Node.js Error object.
  @param {Function} cb A function object as callback.