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

时间:2013-10-31 18:34:21

标签: 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 {
        ...
    }
}); 

我没有创建路径的错误,但它只创建“upload / home / pi”,但是如果我再次运行我的脚本,它会创建其余的目录结构。上传是一个 当前工作目录中的目录,即用户主目录。

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

感谢。

1 个答案:

答案 0 :(得分:0)

尝试同步执行此操作:

<div id="control">
  <label><input type="checkbox" id="device_engine1" />device_engine1</label>
  <label><input type="checkbox" id="device_x" />device_x</label>
</div>
<div>
  <input type="checkbox" class="device_engine1" />
  <input type="checkbox" class="device_x" />
  <input type="checkbox" class="device_engine1 device_x" />
</div>