我在这里搜索了很长时间,但没有得到答案,我只是想在一个循环中读取4000个json文件并稍后再做一些事情,
try {
data = JSON.parse(fs.readFileSync(file));
} catch (err) {
console.error(err);
next();
return;
}
这是一个如此简单的问题,为什么我找不到答案?
我试过graceful-fs
,仍然遇到同样的问题。
有什么建议吗? 非常感谢!
答案 0 :(得分:2)
最后使用readFile并放弃看起来像“同步”的openFileSync,但实际上却没有?
fs.readFile(file, function read(err, data) {})
答案 1 :(得分:1)
我遇到了同样的问题,我在浏览文件夹和上传文件。我只能通过排队文件并从队列中读取它来解决它。我最终选择了async library
答案 2 :(得分:0)
您可以使用以下选项来避免此问题....
var Filequeue = require('filequeue');
var fq = new Filequeue(200); //一次打开的最大文件数
fq.readdir('/ path / to / files /',function(err,files){
if(错误){
throw err; enter code here
}
files.forEach(function(file) {
fq.readFile('/path/to/files/' + file, function(err, data) {
在这里输入代码
//除了崩溃之外还做点什么
}
确保你在这里安装了文件队列。