检查中同步和异步检查有什么区别?

时间:2012-11-12 05:23:36

标签: node.js

在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
    }
});

1 个答案:

答案 0 :(得分:1)

fs方法的同步版本通过方法的返回值提供结果;因此,在执行I / O以确定结果时,这些方法必须阻塞。

异步版本通过方法的回调函数提供结果,调用者将该函数作为参数提供给方法。这些方法只是启动所需的I / O然后立即返回,因此这些方法的返回值没有用。当I / O稍后完成时,将调用回调以将结果提供给调用者。