code: function tryHandleCache(options, data, cb) {
    var result;
    if (!cb) {
      if (typeof exports.promiseImpl == 'function') {
        return new exports.promiseImpl(function (resolve, reject) {
          try {
            result = handleCache(options)(data);
            resolve(result);
          }
          catch (err) {
            reject(err);
          }
        });
      }
      else {
        throw new Error('Please provide a callback function');
      }
    }
    else {
      try {
        result = handleCache(options)(data);
      }
      catch (err) {
        return cb(err);
      }
  
      cb(null, result);
    }
  }
docs: Try calling handleCache with the given options and data and call the
  callback with the result. If an error occurs, call the callback with
  the error. Used by renderFile().
  
  @memberof module:ejs-internal
  @param {Options} options    compilation options
  @param {Object} data        template data
  @param {RenderFileCallback} cb callback
  @static