将包含内容的文件保存为包含NaN内容的数字结果



我的nodejs应用程序中有一个简单的脚本,用于管理文件。当应用程序启动时,它会无限期地工作,并以固定的时间间隔保存其当前值(即number(。

假设我们有一个counter.dat文件,它的内容是编号6570。应用程序已启动,其工作文件已正常更新数天。在某些情况下,我不得不重新启动流程,有时(很少(我发现里面有NaN,而不是正确的数字。

我做了一些测试,似乎启动文件和退出文件有时确实可以存储NaN。

const init = async () => {
...
const readCounter = await files.getContent("counter.dat");
...
};
const saveCounter = (counter) => {
// this value (counter) was never found NaN, but sometimes file has NaN inside
let stream = fs.createWriteStream("counter.dat");
stream.once('open', () => {
stream.write(counter);
stream.end();
});
};

退出脚本(例如MAC终端中的CTRL + C(是否会导致number被保存为NaN?如果是,如何防止?

是的,很明显,如果您输入CTRL + c,那么您的流程将关闭。

即使关闭了终端,也必须保持脚本的有效性。

有一个名为pm2的模块,您可以通过pm2启动脚本。

相关内容

  • 没有找到相关文章

最新更新