节点js模块mkdirp只创建一半目录

sac*_*art 9 node.js raspberry-pi

我正在尝试将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 {
        ...
    }
}); 
Run Code Online (Sandbox Code Playgroud)

我没有创建路径的错误,但它只创建"upload/home/pi",但是如果我再次运行我的脚本,它会创建其余的目录结构.Upload是当前工作目录中的用户主目录.

我通过电子邮件发送了模块的作者,他提出这可能是因为我使用闪存驱动器作为我的介质,而这反过来又说明了IO操作完成时的情况,我想混淆node.js认为它已经成功编写了磁盘路径.我应该如何解决我的问题?我想我可以检查目录是否已创建,并循环直到它有,但这感觉是错误的事情.欢迎任何建议.

谢谢.

小智 0

尝试同步执行此操作:

var filePath = "upload/home/pi/app/temp";
mkdirp(filePath)
Run Code Online (Sandbox Code Playgroud)