【发布时间】:2015-05-17 01:41:30
【问题描述】:
#!/usr/bin/env node
var fs = require('fs')
, async = require('async')
, program = require('commander')
program
.version('0.0.1')
.usage('<keywords>')
.parse(process.argv)
async.waterfall([
fs.readdir.bind(fs, __dirname),
parseHTML,
], saveResult)
function parseHTML(files, callback) {
var result = []
files.forEach(function(file) {
if (file.match(/\.html$/)) {
fs.readFile(file, 'utf8', function(err, data) {
if (err) throw err
result.push(data)
})
}
})
callback(null, result)
}
function saveResult(err, result) {
console.log(result)
}
我很困惑,因为console.log(data) 确实输出了数据:
<p>File 1</p>
<p>File 2</p>
然而最后的 result 是一个空数组:[]
为什么我做错了?
【问题讨论】:
标签: javascript node.js fs