【发布时间】:2023-03-23 10:11:02
【问题描述】:
我正在尝试将mkdirp 用于一个项目,但是当我用我想要创建的 dir 路径向它提供一个 var 时,它只会创建它的前半部分。我已经使用 npm 在本地安装了模块。我在 Raspberry Pi 上使用 Node v0.10.20。
看起来是这样的:
var filePath = "upload/home/pi/app/temp";
mkdirp(filePath, function(error) {
if(error) {
console.log(error);
} else {
...
}
});
我在创建路径时没有收到错误,但它只创建了“upload/home/pi”,但是如果我再次运行我的脚本,它会创建目录结构的其余部分。上传是一个 当前工作目录中的目录,即用户主目录。
我给模块的作者发了电子邮件,他建议这可能是因为我使用闪存驱动器作为我的媒介,这反过来又与 IO 操作何时完成有关,我猜这会让 node.js 误以为它有成功写入磁盘路径。我应该如何解决我的问题?我想我可以检查目录是否已创建,然后循环直到创建为止,但这感觉是错误的做法。欢迎提出任何建议。
谢谢。
【问题讨论】:
-
是的,循环是错误的。您是否尝试过手动执行此操作,即带有调用 mkdir 的回调的 mkdir 和调用 mkdir 的回调 [...]?
-
不,我还没有,我去看看,谢谢你的建议。可惜发明轮子!而且我仍然想知道它为什么会这样。
-
你试过this代码吗?
-
可以分享一下代码吗?
-
请将此标记为已解决或删除。
标签: node.js raspberry-pi