我有一个任意数量的文件路径作为字符串存储在数组中。
我需要依次读取这些文件(即在开始读取下一个文件之前先完成读取一个文件),并在读取每个文件后输出文件长度。读取完所有文件后,打印'done'
。
我只允许使用fs.readFile
和本机Javascript。不允许fs.readFileSync
或任何其他模块。另外,我在Node v6上,所以不能使用async / await。
有没有遵循约束的方法来实现功能?
最佳答案
您不需要任何必要的东西,例如promise,async / await,生成器即可实现。
function readAllFiles(list) {
if(list.length == 0) return
console.log('reading ', list[0])
return fs.readFile(list[0], function (err, file) {
if (err) console.error(err); // report the error and continue
console.log('list[0]' length:', file.length); // report the file length
readAllFiles(list.slice(1, list.length))
})
}
var l = ['1', 'foo', 'bar']
readAllFiles(l)
关于javascript - 在Node中读取与fs.readFile串联的文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53832576/