code: function getAsyncList(file, added, depScaned) {
          var asyncList = [];
          added = added || {};
          depScaned = depScaned || {};
          //对同步依赖进行异步依赖检查
          file.requires.forEach(function (depId) {
              if (depScaned[depId]) {
                  return false;
              }
              depScaned[depId] = true;
              var dep = ret.ids[depId];
              if (!dep) {
                  var isNotice = true;
                  if (settings.notice && settings.notice.exclude) {
                      isNotice = fis.util.filter(file.subpath, null, settings.notice.exclude);
                  }
                  if (isNotice) {
                      fis.log.notice('can\'t find dep resource [' + depId + ']');
                  }
                  return false;
              }
              asyncList = asyncList.concat(getAsyncList(dep, added, depScaned));
          });
          file.extras && file.extras.async && file.extras.async.forEach(function (asyncId) {
              if (added[asyncId]) {
                  return false;
              }
              added[asyncId] = true;
              var async = ret.ids[asyncId];
              if (!async) {
                  fis.log.notice('can\'t find async resource [' + asyncId + ']');
                  return false;
              }
              asyncList = asyncList.concat(getAsyncList(async, added, depScaned));
              //异步资源依赖需要递归添加所有同步依赖
              asyncList = asyncList.concat(getDepList(async, added));
              asyncList.push(async);
          });
          return asyncList;
      }
docs: 获得指定文件的异步资源依赖
  @param file
  @param added 已经处理过的异步资源
  @param depScaned 已经处理过的同步资源
  @returns {Array}