Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
422 views
in Technique[技术] by (71.8m points)

在nodejs的程序里面怎么理解IO呢,如何用一段代码来说明IO

在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希望大家解惑赐教啊


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

IO 是 Input/Output 的简写,常见的输入包括控制台(键盘)输入、文件输出;常见的输出包括控制台(显示器)输出、文件输出——这些都是很早就存在的概念。现在 IO 还包括网络IO、设备IO……只要是输入输出就可以称为 IO。

你给的这段代码只是 IO 中读取文件,也就是从文件输入的一个例子。相对于其它语言或环境中常见读文件操作来说,这里比较特殊的一点在于它是异步的,在发起读文件请求(fs.readFile)的同时,传递了一个回调((err, data) => {...})作为参数进去,要求读取文件完成之后由IO库调用这个回调,把文件内容(data)作为参数传递给回调函数,以便回调函数对其进行处理。而处理过程,即回调函数,是在发起读文件请求的时候就已经定义好的。

我估计你是对异步这个概念不是很清楚,但是如果在这里说,几句话也说不清楚,建议你去搜一下相关资料来看看。就搜 “JavaScript 异步”


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...