使用下面的代码,我将一次性使用令牌存储在一个文本文件中,在 POST 中提交后,脚本会检查该文件是否存在,然后我需要它来删除它。目前,我已将其替换为空行,如下所示。之后如何删除空行,或者首先删除带有该行的标记?我之前使用过移位功能,但是,这不适用,因为标记可以位于文本文档中的任何行
var data = fs.readFileSync('tokens.txt', 'utf-8');
if(data.includes(req.body.token)){
var newValue = data.replace(new RegExp(req.body.token), '');
fs.writeFileSync('tokens.txt', newValue, 'utf-8');
我想你可以创建一个新的空白文件。并且还使用 .then() 因为 fs.readfile 是一个异步方法,以确保数据在执行之前具有读取的文件。
fs.readFileSync('tokens.txt', 'utf-8').then((data) => {
if(data.includes(req.body.token))
fs.writeFileSync('tokens.txt', '', 'utf-8');
});