【问题标题】:Node.js wait for fs.mkdir() to finish before continuing?Node.js 等待 fs.mkdir() 完成后再继续?
【发布时间】:2021-05-06 04:21:18
【问题描述】:

我正在使用 Node.js,需要创建一个新目录。我为此使用 fs.mkdir()。

但是,我需要创建这个目录,或者至少在继续下一段代码之前检查创建是否成功。在继续之前,我如何从 mkdir() 获得表示代码成功或失败的承诺或返回值?

当前代码:

    fs.mkdir('./newdirectory', function(err) {
      if (err) {
          console.log("Error Creating Directory: " + err);
       } else{
          console.log("Success Creating Directory")
       }
     })

  //need code here to execute after knowing whether the directory was successfully created or not
  //currently, this code here executes before the 'console.log()' above would

【问题讨论】:

  • 只需使用mkdirSync
  • @ChristianFritz 我不认为我在跟随。无论成功与否,我都无法返回任何东西,我只是得到'未定义'
  • 见nodejs.org/dist/latest-v14.x/docs/api/…。如果一切顺利,该函数应该返回undefined。如果出现问题,它不会抛出错误。

标签: javascript node.js fs mkdir


【解决方案1】:

正如 Christian Fritz 所说,您正在寻找什么 mkdirSync。在大多数情况下它将返回 undefined(请参阅:https://nodejs.org/api/fs.html#fs_fs_mkdirsync_path_options)。

您需要的所有错误验证都将其包装在 try-catch 块中。如果出现问题,它会抛出异常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-25
    • 2019-11-01
    • 2021-05-21
    • 2015-10-03
    • 2013-11-25
    • 2014-02-03
    • 1970-01-01
    相关资源
    最近更新 更多