【发布时间】:2014-11-03 13:57:03
【问题描述】:
我正在使用node-webkit 创建相册管理器,并且正在设置递归扫描以查找我的所有照片。我正在扫描大约 10k 个文件,但 console.time 只返回 0.000 毫秒。我知道扫描发生得很快,但没那么快。 我做错了吗?
var fs = require('fs');
var path = 'I:/pictures/';
console.time('read-directory');
var scanDirectory = function(path) {
fs.readdir(path,function(err,files) {
if(err) {
console.log(err);
} else {
files.forEach(function(file) {
fs.stat(path + file, function(err,stats) {
if(err) {
console.log(err);
} else {
if(stats.isDirectory()) {
scanDirectory(path + file + '/');
} else {
console.log(path + file);
}
}
});
});
}
});
}
scanDirectory(path);
console.timeEnd('read-directory');
【问题讨论】:
-
fs.readdir 是异步的。 console.timeEnd 在读取任何内容之前被调用。
标签: node.js node-webkit