node.js 异步变同步——获取一个文件夹内的所有文件夹
来源:互联网 发布:淘宝指数是什么意思 编辑:程序博客网 时间:2024/05/21 09:06
获取test文件夹内的所有文件夹:
var fs = require("fs");fs.readdir('./test',function(err,files){var wenjianjia = [];console.log(files);for(var i = 0;i<files.length;i++){var filename = files[i];fs.stat('./test/'+ filename,function(err,stats){if(stats.isDirectory()){wenjianjia.push(filename);}console.log(wenjianjia);}); }});
这是因为执行回调函数时(异步),for循环已经执行完,filename='ccc';
如果我们想要读取一个文件夹,放进数组后,在读取第二个文件夹放入数组,就必须同步操作
var fs = require("fs");fs.readdir('./test',function(err,files){var wenjianjia = [];(function iterator(i){if(i==files.length){console.log(wenjianjia);return;}var filename = files[i];fs.stat('./test/'+ filename,function(err,stats){if(stats.isDirectory()){wenjianjia.push(filename);} iterator(i+1);}); })(0)});
或者不使用异步函数fs.stat(),使用同步函数fs.statSync()
var fs = require("fs");fs.readdir('./test',function(err,files){var wenjianjia = [];for(var i = 0;i<files.length;i++){var filename = files[i]; var stats = fs.statSync('./test/'+ filename); if(stats.isDirectory()){ wenjianjia.push(filename); }}console.log(wenjianjia);});
阅读全文
0 0
- node.js 异步变同步——获取一个文件夹内的所有文件夹
- Java获取一个文件夹内的所有文件(包括所有子文件夹内的)
- node 异步变同步,判断文件夹内文件/夹 是否是文件夹**运用闭包算法
- python如何获取一个文件夹内包括子文件夹所有文件的名字和路径
- NodeJS 异步变同步的方法遍历文件夹
- MATLAB中获取一个文件夹下所有文件夹的名字
- 获取一个文件夹下的所有文件
- fso获取文件夹内所有文件名列表的代码
- 获取文件夹内所有指定后缀的文件
- java获取某个文件夹内所有文件的名称
- 【C++】获取当前文件夹内的所有文件
- 批量求出一个文件夹内所有文件的md5散列值
- C# 下载FTP服务器一个文件夹内的所有文件
- window提取一个文件夹内所有文件的名称
- 使用_finddata_t获取文件夹内所有文件
- 获取文件夹内所有文件包括子文件夹
- C++获取文件夹大小、文件夹内所有文件名
- node.js——async同步异步
- Java Web中实现文件上传(一)
- 相比于C,python更简便
- [jzoj]2248. 【2017.12.02普及组模拟】送快递(二分+set)
- oracle查询哪些表被谁锁住了
- 棋盘DP尝试
- node.js 异步变同步——获取一个文件夹内的所有文件夹
- Java编程思想-并发-基本的线程机制/共享受限资源
- CAS实现单点登录SSO执行原理探究(终于明白了)
- 698. Partition to K Equal Sum Subsets
- Retrofit+RXjava+多条目+itew的点击事件+软引用+泛型+绑定+解绑
- Gson JsonParser
- Bean注入[笔记]
- Linux内存管理
- Java 数组 内存(栈和堆)