我的应用程序出现了这个问题,所以我有一个我们收到文件的舞台文件夹,目录上有一个fs.watch,它会监视文件并在看到文件后将文件移动到另一个目录。为了模仿这个过程,我让应用程序运行并将文件复制/粘贴到stage目录。但我不断得到错误,不知道如何克服这个
EBUSY:资源忙或已锁定,重命名为'C:\ Users \ a \ Desktop \ Node js Data Loader \ stage_load \ data \ UI.txt' - > 'C:\ Users \ a \ Desktop \ Node js Data Loader \ stage_load \ stage \ UI.txt'
这是我代码中的代码段
fs.watch(DATA_PATH,(eventype,filename) =>
{
if(filename.length > 0)
{
const data_name = path.join(DATA_PATH, filename);
const stg_name = path.join(STAGE_PATH, filename);
fs.rename(data_name,stg_name ,(err) =>{
if(err)
{
console.log('File failed to move to Stage');
throw err;
}
})
main();
}
})
似乎代码需要等待写入完整文件,不确定
答案 0 :(得分:0)
很抱歉,但是今天我遇到了同样的问题,终于找到了“解决方案”。
那是Google的第二个结果,所以...
我可以通过异步写入日志文件来解决问题。
我的代码正在这样运行
当我尝试使用fs.appendFileSync()时,我自动处于繁忙状态。 但是使用异步方法,就像魅力一样。
我认为这是一些允许自动执行的库,但是我想要自己的代码,可以根据需要修改和弯曲