【发布时间】:2012-03-17 06:29:33
【问题描述】:
我正在使用caolan's 'async' module 打开一个文件名数组(在本例中为模板文件名)。
根据文档,我使用的是async.forEach(),因此我可以在所有操作完成后触发回调。
一个简单的测试用例是:
var async = require('async')
var fs = require('fs')
file_names = ['one','two','three'] // all these files actually exist
async.forEach(file_names,
function(file_name) {
console.log(file_name)
fs.readFile(file_name, function(error, data) {
if ( error) {
console.log('oh no file missing')
return error
} else {
console.log('woo '+file_name+' found')
}
})
}, function(error) {
if ( error) {
console.log('oh no errors!')
} else {
console.log('YAAAAAAY')
}
}
)
输出如下:
one
two
three
woo one found
woo two found
woo three found
也就是说,最终回调似乎没有触发。我需要做什么才能使最终的回调触发?
【问题讨论】:
标签: javascript node.js asynchronous async.js node-async