我正在创建一个系统,将“违规”记录在JSON文件中以供进一步使用。但是,每当我使用fs.writeFile执行som操作时,它只会删除整个文件并覆盖它。我试图让它添加到已经存储的JSON文件。
下面是我的代码:
const saveData = (infraction) =>{
fs.readFile('infractions.json', function getData(err, data) {
var json = JSON.parse(data)
console.log(json)
})
const completed = (error) = {
if(error){
console.error(error)
return;
}
}
const jsonData = JSON.stringify(infraction, null, 2)
setTimeout(function(){
fs.writeFile('infractions.json', jsonData,function(completed){
if(error){
console.error(error)
return;
}
})
}, 2000);
}
下面是我定义Infraction并调用上面的函数的地方:
const infraction = {
user: target.id,
reason: reason,
punishment: punishment
}
saveData(infraction);
我尝试使用fs.readFile和JSON.parse,但是我无法获得可访问的变量输出。它只是一直错误为未定义。
var json = JSON.parse(data)
console.log(json)
})
1条答案
按热度按时间hmae6n7t1#
您应该使用
fs.appendFile
而不是fs.writeFile
。