在node.js中同步和异步检查现有文件有什么区别?
例如:
var path = require('path');
if (path.existsSync("/the/path")) { // or fs.existsSync
// ...
}
和
// Is it a directory?
lstat('/the/path', function(err, stats) {
if (!err && stats.isDirectory()) {
// Yes it is
}
});
答案 0 :(得分:1)
fs
方法的同步版本通过方法的返回值提供结果;因此,在执行I / O以确定结果时,这些方法必须阻塞。
异步版本通过方法的回调函数提供结果,调用者将该函数作为参数提供给方法。这些方法只是启动所需的I / O然后立即返回,因此这些方法的返回值没有用。当I / O稍后完成时,将调用回调以将结果提供给调用者。