Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在js中使用循环中的数据更新文件?_Javascript_Node.js_Loops_Fs - Fatal编程技术网

Javascript 如何在js中使用循环中的数据更新文件?

Javascript 如何在js中使用循环中的数据更新文件?,javascript,node.js,loops,fs,Javascript,Node.js,Loops,Fs,我有一个循环中的数据,我需要将数据附加到位置处的文件中,但是当我循环时,第一条记录只会被附加。我不确定是什么问题 我的代码 for (i=0;i< data.length ;i++) { var file = fs.openSync(listBlogsFile, 'r+'); var bufferedText = new Buffer(data[i] + modListData); fs.writeSync(file, bufferedText, 0, buffer

我有一个循环中的数据,我需要将数据附加到位置处的文件中,但是当我循环时,第一条记录只会被附加。我不确定是什么问题

我的代码

for (i=0;i< data.length ;i++) {
    var file = fs.openSync(listBlogsFile, 'r+');
    var bufferedText = new Buffer(data[i] + modListData);
    fs.writeSync(file, bufferedText, 0, bufferedText.length, position);
}
for(i=0;i
您是否已完成控制台日志记录以找出问题所在?我首先执行
console.log(data.length)
检查数组中实际有多少个元素,然后
console.log(data[i]+modListData)
检查要追加的数据。看起来您每次都在写入相同的位置?在这种情况下,我只希望最后一条记录出现在文件中。^我正要说的是,您的
位置
变量似乎没有改变。每次迭代打开文件并不是最佳做法。将打开的文件移到loop之外我建议您尝试使用WriteStream:并避免*同步调用以提高性能