Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 为什么fs.readFile回调函数下面的代码在回调之前运行?_Node.js - Fatal编程技术网

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");