Skip to content

Instantly share code, notes, and snippets.

@zzjtnb
Created August 2, 2020 14:24
Show Gist options
  • Select an option

  • Save zzjtnb/870365b3180b9ef20c375ac1bd17e61c to your computer and use it in GitHub Desktop.

Select an option

Save zzjtnb/870365b3180b9ef20c375ac1bd17e61c to your computer and use it in GitHub Desktop.
node.js遍历目录
# 同步遍历
```JavaScript
const fs = require('fs');
const path=require('path');
function travel(dir,callback){
fs.readdirSync(dir).forEach((file)=>{
var pathname=path.join(dir,file)
if(fs.statSync(pathname).isDirectory()){
travel(pathname,callback)
}else{
callback(pathname)
}
})
}
travel('F:/HTML/Node/test',function(pathname){
console.log(pathname)
})
```
# 异步遍历
```JavaScript
const fs = require('fs');
const path=require('path');
function travel(dir,callback){
fs.readdir(dir,(err,files)=>{
if(err){
console.log(err)
}else{
files.forEach((file)=>{
var pathname=path.join(dir,file)
fs.stat(pathname,(err,stats)=>{
if(err){
console.log(err)
}else if(stats.isDirectory()){
travel(pathname,callback)
}else{
callback(pathname)
}
})
})
}
})
}
travel('F:/HTML/Node/test',function(pathname){
console.log(pathname)
})
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment