code: function( dataTransfer, callback ) {
                  var results  = [],
                      promises = [],
                      items, files, file, item, i, len, canAccessFolder;
      
                  items = dataTransfer.items;
                  files = dataTransfer.files;
      
                  canAccessFolder = !!(items && items[ 0 ].webkitGetAsEntry);
      
                  for ( i = 0, len = files.length; i < len; i++ ) {
                      file = files[ i ];
                      item = items && items[ i ];
      
                      if ( canAccessFolder && item.webkitGetAsEntry().isDirectory ) {
      
                          promises.push( this._traverseDirectoryTree(
                                  item.webkitGetAsEntry(), results ) );
                      } else {
                          results.push( file );
                      }
                  }
      
                  Base.when.apply( Base, promises ).done(function() {
      
                      if ( !results.length ) {
                          return;
                      }
      
                      callback( results );
                  });
              }
docs: 如果传入 callback 则去查看文件夹，否则只管当前文件夹。