9

我正在尝试将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 误以为它已经成功编写了磁盘路径。我应该如何解决我的问题?我想我可以检查目录是否已创建,然后循环直到创建为止,但这感觉是错误的做法。欢迎任何建议。

谢谢。

4

1 回答 1

0

尝试同步执行此操作:

var filePath = "upload/home/pi/app/temp";
mkdirp(filePath)
于 2016-08-08T19:57:20.643 回答