刚开始学习node ,看网上的教程和图书,对一段程序进行分析,帮我看看我分析的对不,帮我解答一下疑问
var fs = require(‘fs’); //载入 fs 模块
fs.readdir(".", function (err, files) { //执行fs模块的 readdir 方法 传递一个参数 “.” 和 一个回调方法
var count = files.length, // 取得文件数量
results = {}; // 创建一数组
files.forEach(function (filename) { //循环回调 每次将文件名 给 回调函数的 filename 参数
fs.readFile(filename, function (data) { //读文件 成功后将结果给 回调函数的 data 参数
results[filename] = data; //将数据存入数组
count–; // 每次减1
if (count <= 0) {
// 到这里 文件读完了
// 这里放一个判断的目的是不是等到文件读完了再处理下一个事物呢?
}
});
});
目的可以很多,看应用场景 文件读完了应该是放出一个 event,完成回调
results = {}; // 创建一数组 。。。。。。。
用readfile的ANSY方法比较靠谱, 反正同异步早晚要阻塞管道。