模拟let的for循环

在异步的环境中使用var很容易就出现问题,可以用let来解决,但也可以使用一个立即执行函数来迭代做这件事情

 

(function itarator(i){
    if(i == files.length){
      return;
    }
    //fs.stat是一个异步函数
    fs.stat('./test/' + files[i], function(err, stats) {
      if (stats.isDirectory()) {
        dirs.push(files[i])
      }
      //异步函数处理完后再调用自己
      itarator(i+1)
    })
  })(0)

 

你可能感兴趣的:(JS小技巧)