异步文件夹创建的意义是什么?

时间:2019-05-05 21:06:14

标签: javascript node.js

我不明白异步文件夹创建的意义。例如,我可能要先创建一个文件夹,然后再在应用程序的其余部分中使用它(因此它必须存在)。那为什么要使用异步mkdir?

这是一个例子:

var fs = require("fs");

function init() {
    fs.mkdir("/path/to/the/dir", (err) => { if (err) throw err });
}

function main() {
    init()
    // I want the folder to be guaranteed to exist from here
    // ...
}

2 个答案:

答案 0 :(得分:4)

由于与文件系统的任何交互是一个(阻塞的)系统调用(通常需要与旋转磁盘进行交互,因此,相对于CPU / RAM速度而言,这需要等待很多时间),并且在系统调用未完成时,事件循环可能会做有用​​的工作。

通过调度异步,即使您立即等待它,在创建文件夹时也可以完成其他工作(在事件循环中安排的事件)。

答案 1 :(得分:2)

异步允许您在等待资源准备就绪时执行其他任务。另一个任务可能无关紧要,例如获取一些Twitter数据,准备目录内容等。

这只是一个选择。

Node js还允许您进行同步文件夹创建。

fs.mkdirSync(path[, options])