我不明白异步文件夹创建的意义。例如,我可能要先创建一个文件夹,然后再在应用程序的其余部分中使用它(因此它必须存在)。那为什么要使用异步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
// ...
}
答案 0 :(得分:4)
由于与文件系统的任何交互是一个(阻塞的)系统调用(通常需要与旋转磁盘进行交互,因此,相对于CPU / RAM速度而言,这需要等待很多时间),并且在系统调用未完成时,事件循环可能会做有用的工作。
通过调度异步,即使您立即等待它,在创建文件夹时也可以完成其他工作(在事件循环中安排的事件)。
答案 1 :(得分:2)
异步允许您在等待资源准备就绪时执行其他任务。另一个任务可能无关紧要,例如获取一些Twitter数据,准备目录内容等。
这只是一个选择。
Node js还允许您进行同步文件夹创建。
fs.mkdirSync(path[, options])