Avatar ·

如何在Node.js中正确写入文件:同步、异步和通过流?

大家好!我是Node.js新手,正在尝试理解如何将数据写入文件。我读了很多文档,但方法太多让我头晕:`writeFile`、`writeFileSync`、`appendFile`、`createWriteStream`……什么时候该用哪个? 我有一个简单的用户操作日志记录应用。我想把每个操作写入`log.txt`文件。目前我是这样做的: ```javascript const fs = require('fs'); function logAction(action) { const data = `${new Date().toISOString()} - ${action}\n`; fs.writeFile('log.txt', data, (err) => { if (err) console.error('写入错误:', err); }); } logAction('用户登录系统'); logAction('用户点击了“购买”按钮'); ``` 问题在于,有时文件中只有最后一条记录,有时甚至完全为空。我怀疑这是因为异步操作,但不知道如何正确组织顺序写入。 另外,我还听说过`fs.promises`和`writeFileSync`……