code: function filter(modules, emitModules, callback) {
      function filterModules(modules, cacheKey, moduleKey, callback) {
        var result = {};
  
        async.forEachOf(
          modules,
          function(module, src, callback) {
            if (module[cacheKey]) {
              fs.readFile(path.resolve(directory, module[cacheKey]), function(err, data) {
                if (!err) {
                  module.contents = data;
                  result[src] = module;
                }
  
                callback();
              });
            } else {
              callback();
            }
          },
  
          function() {
            cache[moduleKey] = result;
            callback();
          });
      }
  
      async.parallel([
        filterModules.bind(filterModules, modules, 'cached', 'modules'),
        filterModules.bind(filterModules, emitModules, 'emitCached', 'emitModules')
      ], callback);
    }
docs: 筛选掉那些失效的缓存