Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 节点js模块mkdirp只创建了一半的目录_Node.js_Raspberry Pi - Fatal编程技术网

Node.js 节点js模块mkdirp只创建了一半的目录

Node.js 节点js模块mkdirp只创建了一半的目录,node.js,raspberry-pi,Node.js,Raspberry Pi,我试图将其用于一个项目,但当我向它提供一个带有我想要创建的dir路径的var时,它只创建它的前半部分。我已经用npm在本地安装了该模块。我在Raspberry Pi上使用节点v0.10.20 这就是它的样子: var filePath = "upload/home/pi/app/temp"; mkdirp(filePath, function(error) { if(error) { console.log(error); } else { ...

我试图将其用于一个项目,但当我向它提供一个带有我想要创建的dir路径的var时,它只创建它的前半部分。我已经用npm在本地安装了该模块。我在Raspberry Pi上使用节点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误以为它已成功写入磁盘路径。我该如何解决我的问题?我想我可以检查一下目录是否被创建,然后循环直到创建为止,但这感觉是错误的。欢迎任何建议


谢谢。

尝试同步执行此操作:

var filePath = "upload/home/pi/app/temp";
mkdirp(filePath)

是的,循环是错误的。您是否尝试过手动执行此操作,即使用调用mkdir的回调函数mkdir调用调用mkdir的回调函数[…]调用mkdir?不,我还没有,我会查看一下,谢谢您的建议。但是发明轮子太糟糕了!我仍然想知道它为什么会这样。你试过代码吗?你能分享代码吗?请将此标记为已解决或删除。