我正在构建一个 nodejs 脚本。脚本流程如下:
- 使用 r+ 标志打开文件。
- 然后将打开的文件内容(使用 fs.read)读取为 json。
- 运行用户回调以允许用户操作 json(文件仍处于打开状态)
- 将新对象写入文件。
- 关闭文件
我的问题是我不知道如何在不关闭文件的情况下确定文件的新大小。
因此,例如,如果我们首先执行以下代码:
ffs.lockAndManipulateJSON(__dirname + '/var/meta.json', function (json) {
json.test = 'ABC';
json.foo = 'bar';
});
在未来的某个时候:
ffs.lockAndManipulateJSON(__dirname + '/var/meta.json', function (json) {
delete json.foo;
});
文件的内容如下:
{
"test": "ABC"
} "foo": "bar"
}
但我希望它是:
{
"test": "ABC"
}
所以,我的问题是:如何在文件仍处于打开状态时使用 nodejs 设置新文件大小?