javascript - 在nodejs的程序里面怎么理解IO呢,如何用一段代码来说明IO
问题描述
问题解答
回答1:你可能没把问题描述清楚,IO只是个词汇而已,像HTML也是一个缩写词汇。 你是不是想问: nodejs中的异步IO是怎么回事?
回答2:IO 是 Input/Output 的简写,常见的输入包括控制台(键盘)输入、文件输出;常见的输出包括控制台(显示器)输出、文件输出——这些都是很早就存在的概念。现在 IO 还包括网络IO、设备IO……只要是输入输出就可以称为 IO。
你给的这段代码只是 IO 中读取文件,也就是从文件输入的一个例子。相对于其它语言或环境中常见读文件操作来说,这里比较特殊的一点在于它是异步的,在发起读文件请求(fs.readFile)的同时,传递了一个回调((err, data) => {...})作为参数进去,要求读取文件完成之后由IO库调用这个回调,把文件内容(data)作为参数传递给回调函数,以便回调函数对其进行处理。而处理过程,即回调函数,是在发起读文件请求的时候就已经定义好的。
我估计你是对异步这个概念不是很清楚,但是如果在这里说,几句话也说不清楚,建议你去搜一下相关资料来看看。就搜 “JavaScript 异步”
回答3:fs.readFile是读文件的操作,相当于你说的I,读取的文件数据存储在data变量里面;fs.writeFile是写文件的操作(你代码里面没有涉及),相当于你说O,输出数据到一个外部文件。简单的说:I是从外部读入数据到程序,O是从程序输出数据到外部文件。(老铁,扎心了!踩我的务必说说理由)
回答4:I/O流,即输入输出,读写文件就是对数据输入输出