如果我JSON.stringify
内有writeFile
,这是阻止代码。让我们说它是大文件。这就是我在第二次按下按钮多次触发此api端点时收到错误conection refused
的原因吗?
app.patch('/', function(req, res) {
...some query
fs.writeFile(path.join(__dirname, "../../") + 'Data/deals.json', JSON.stringify(tickets), function (err) {
if (err) {
console.log(err);
return res.status(400).json({error: err});
}
return res.status(200).json({success: true, message: 'Deal Updated successfully'});
});
})
答案 0 :(得分:0)
JSON.stringify
将对象解析为字符串同步。但是你错过了你在JSON.stringify
函数中调用patch
而不是在writeFIle中。
它是Async
。如果要同步编写文件,则必须使用writeFileSync
。
有关详细信息,请访问Node.js fs Docs
// Async callback will called after finish
// Non-Blocking
fs.writeFile(file, data[, options], callback)
// write to file with return the result, may throw exception
// Blocking
fs.writeFileSync(file, data[, options])