Ric*_*ton 7 javascript filesystems callback node.js
我正在玩NodeJS REPL
控制台并遵循本教程.
http://www.tutorialspoint.com/nodejs/nodejs_file_system.htm
我专注于File System(FS)
模块.我们来看看mkdir
用于创建目录的函数.
根据TutorialsPoint,这是您使用FS创建目录的方式
var fs = require("fs");
console.log("Going to create directory /tmp/test");
fs.mkdir('/tmp/test',function(err){
if (err) {
return console.error(err);
}
console.log("Directory created successfully!");
});
Run Code Online (Sandbox Code Playgroud)
他们特别说你需要这种语法
fs.mkdir(path[, mode], callback)
Run Code Online (Sandbox Code Playgroud)
好吧,我只是尝试使用较少的代码,没有回调,它工作.
var fs = require('fs');
fs.mkdir('new-directory');
Run Code Online (Sandbox Code Playgroud)
并且目录已创建.语法应该是
fs.mkdir(path);
Run Code Online (Sandbox Code Playgroud)
我不得不问,回调的目的是什么,你真的需要吗?为了删除目录,我可以理解为什么你需要它,以防目录不存在.但我看不出该mkdir
命令可能出现什么问题.好像很多不必要的代码.
jfr*_*d00 10
当您需要知道呼叫是否成功时,需要回调.如果您不关心它何时完成或者不关心是否存在错误,那么您不必通过回调.
请记住,这种类型的函数是异步的.它在将来完成一些未知时间,因此了解它何时完成或成功完成的唯一方法是通过传递回调函数,并且在调用回调时,您可以检查错误并查看它已完成.
事实证明,肯定会出现mkdir()
诸如错误路径,权限错误等问题......因此错误肯定会发生.并且,如果要立即使用该新目录,则必须等到调用回调才能使用它.
响应您的其他一条注释,fs.mkdir()
无论您是否通过回调,该函数始终是异步的.
这是一个例子:
var path = '/tmp/test';
fs.mkdir(path, function (err) {
if (err) {
console.log('failed to create directory', err);
} else {
fs.writeFile(path + "/mytemp", myData, function(err) {
if (err) {
console.log('error writing file', err);
} else {
console.log('writing file succeeded');
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16036 次 |
最近记录: |