在nodejs的程序里面怎么理解IO呢,如何用一段代码来说明IO,看了很多文章大部分都只说原理层面,I是input,O是output,但在nodejs的代码层面怎么理解这个IO呢,求大家赐教啊,写了很多代码了,但是每每思考这个问题,总是不得其解;
比方下面这段代码
const path = require('path');
const fs = require('fs');
console.log('start')
fs.readFile(path.join(__dirname,'./data.txt'),(err,data)=>{
console.log(data.toString());
console.log('end')
});
console.log('doing')
可能这段代码呢不能解释IO希望大家解惑赐教啊
IO 是 Input/Output 的简写,常见的输入包括控制台(键盘)输入、文件输出;常见的输出包括控制台(显示器)输出、文件输出——这些都是很早就存在的概念。现在 IO 还包括网络IO、设备IO……只要是输入输出就可以称为 IO。
你给的这段代码只是 IO 中读取文件,也就是从文件输入的一个例子。相对于其它语言或环境中常见读文件操作来说,这里比较特殊的一点在于它是异步的,在发起读文件请求(
fs.readFile
)的同时,传递了一个回调((err, data) => {...}
)作为参数进去,要求读取文件完成之后由IO库调用这个回调,把文件内容(data
)作为参数传递给回调函数,以便回调函数对其进行处理。而处理过程,即回调函数,是在发起读文件请求的时候就已经定义好的。我估计你是对异步这个概念不是很清楚,但是如果在这里说,几句话也说不清楚,建议你去搜一下相关资料来看看。就搜 “JavaScript 异步”