CNode

请帮我看看,我的理解对不对

问答
Cc2194发布于12 年前最后回复12 年前3 回复3301 浏览0 收藏

刚开始学习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) {
// 到这里 文件读完了 // 这里放一个判断的目的是不是等到文件读完了再处理下一个事物呢? }
});
});

查看回复

回复 (3)

R
russj#1·12 年前

目的可以很多,看应用场景 文件读完了应该是放出一个 event,完成回调

I
i5ting#2·12 年前

results = {}; // 创建一数组 。。。。。。。

M
MiguelValentine#3·12 年前

用readfile的ANSY方法比较靠谱, 反正同异步早晚要阻塞管道。

参与回复
登录后即可参与回复。登录