unlinkSync 并没有真正删除文件

问题描述

unlinkSync 方法似乎在文件实际被删除之前返回。如果我运行以下代码,在随机迭代次数i 介于 20,000 和 115,000 之间)后会出现以下错误

Error: EPERM: operation not permitted,mkdir 'a'

"use strict";

const fs = require("fs");
try { fs.rmdirsync('a'); } catch {} // no file at the beginning

try {
    for (var i=0; ; i++) {
        fs.mkdirsync('a');
        fs.writeFileSync("a\\b",'');
        fs.unlinkSync("a\\b");
        fs.rmdirsync('a');
    }
}
catch (e) {
    console.log("i =",i);
    throw e;
}

也许与 Windows 7 有关? https://github.com/nodejs/node-v0.x-archive/issues/3051#issuecomment-4989160

我想知道您是否在其他环境中重现该错误以及如何确保该方法返回时删除文件?提前致谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)