使用嵌套过滤器的Javascript回调

时间:2016-10-31 17:22:56

标签: javascript node.js callback

听起来很基本但我不能正确编码这个回调。我需要完全和递归地遍历目录。我需要一个' m4v'只有从那个较小的数组我需要探测文件,看看他们的帧高度是多少。 480p以下的任何东西都太小而且不可接受。出于这个原因,我需要将这个新文件数组(条件:m4v,480p以下)返回给调用此module.exports函数的代码。

file:frameHeightCheck.js lowResFilesOnDir.getAllFilesFromFolder(__dirname,function(res){ // console.log(res); });

file:lowResFilesOnDir.getAllFilesFromFolder function exerpt

        var r = _.filter(filesystem.readdirSync(dir), function(file){
        var ext = file.split('.').pop();
        if(ext === 'm4v'){
           results = _.filter(results, function(f){
              probe(f, function(err,probeData){
                 var height = probeData.streams[1].height;
                 if(height > 479){
                    // acceptable height do not do anything
                 }
                 else {
                    return f;
                 }
              })
           })
           return results;
        }
     });

我尝试嵌套两个检查的另一个版本是:

     var r = _.filter(filesystem.readdirSync(dir), function(file){
        var ext = file.split('.').pop();
        if(ext === 'm4v'){
              probe(file, function(err,probeData){
                 var height = probeData.streams[1].height;
                 if(height > 479){
                    // acceptable height do not do anything
                 }
                 else {
                    return file;
                 }
              })
        }
     });

0 个答案:

没有答案