为什么使用同步函数node.js

时间:2015-11-10 18:29:57

标签: javascript node.js asynchronous

每个人都建议在Node.js中使用异步(非阻塞)函数而不是同步函数。

那么,如果不推荐使用node.js中的同步函数,那该怎么办?

例如:如果fs.readFileSync()可以在不阻止的情况下执行相同的工作,为什么要使用fs.readFile()

2 个答案:

答案 0 :(得分:8)

同步功能非常有用,尤其是在启动时,您希望在执行更多代码之前确保获得结果。

例如,您可以同步加载配置文件。但是,如果您在实时请求期间尝试读取文件,则应使用异步功能,以免阻止其他用户请求。

答案 1 :(得分:0)

有时您希望在读取或写入文件后执行代码。例如

function () {
    array.forEach(function(data) {
        fs.writeFile(data)
    });

    // do this after forEach has finished looping, not after files have finished being writen to
}

如同:

function () {
    array.forEach(function(data) {
        fs.writeFileSync(data)
    });

    // do this after all files have been written to
}