gpt4 book ai didi

javascript - 文件在 Node js中使用之前被删除

转载 作者:太空宇宙 更新时间:2023-11-04 01:02:27 24 4
gpt4 key购买 nike

我是 Node js 新手,我正在尝试执行以下操作:

function createPasswordfile(content)
{
fs.writeFile(passwordFileName,content, function(err) {
if(err) {
console.log("Failed on creating the file " + err)
}
});

fs.chmodSync(passwordFileName, '400');
}

function deletePasswordFile()
{
fs.chmodSync(passwordFileName, '777');
fs.unlink(passwordFileName,function (err) {
if (err) throw err;
console.log('successfully deleted');
});
}

并且有三个语句调用这些函数:

createPasswordfile(password)
someOtherFunction() //which needs the created password file
deletePasswordFile()

我面临的问题是,当我添加 deletePasswordFile() 方法调用时,我收到如下错误:

Failed on creating the file Error: EACCES, open 'password.txt'
successfully deleted

由于它是非阻塞的,我猜 deletePasswordFile 函数会在其他函数使用该文件之前删除该文件。

如果 deletePasswordFile 被注释掉,则一切正常。

我应该如何防止这种情况发生?

最佳答案

writeFile 是异步的,因此当您尝试删除该文件时,该文件可能仍在写入中。

尝试更改为writeFileSync

fs.writeFileSync(passwordFileName, content);

关于javascript - 文件在 Node js中使用之前被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25932061/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com