Node.js 为什么fs.readFile回调函数下面的代码在回调之前运行?
Node.js 为什么fs.readFile回调函数下面的代码在回调之前运行?,node.js,Node.js,input.txt包含字符串“hello” 上述代码打印: 程序结束 你好 为什么它会在“hello”之前打印“程序结束”? 不是逐行执行吗?回调函数(打印文件内容的函数)中的代码不会阻止执行。读取文件后,它将异步执行。fs.readFile是异步的,这意味着,正如@madox2所说,它不会阻止执行。如果要在fs.readFile之后记录程序结束,可以使用。fs.readFileSync是同步的,这意味着console.log(“程序结束”)将在之后执行。欢迎来到异步编程世界:)节点的最佳在线
input.txt
包含字符串“hello”
上述代码打印:
程序结束
你好
为什么它会在“hello”之前打印“程序结束”?不是逐行执行吗?回调函数(打印文件内容的函数)中的代码不会阻止执行。读取文件后,它将异步执行。fs.readFile是异步的,这意味着,正如@madox2所说,它不会阻止执行。如果要在fs.readFile之后记录
程序结束
,可以使用。fs.readFileSync是同步的,这意味着console.log(“程序结束”)
将在之后执行。欢迎来到异步编程世界:)节点的最佳在线资源?您可以在这个问题中找到更多信息:
fs.readFile('input.txt', function(err, data) {
if (err) {
return console.error(err);
}
console.log(data.toString());
});
console.log("Program Ended");