Node.js中非阻塞I/O是什么

本篇文章为大家展示了Node.js中非阻塞I/O是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

公司主营业务:成都网站建设、网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出辽源免费做网站回馈大家。

先新建一个index.js,再打开我们前端人的vs-code,打开终端,执行npm install glob安装一个glob包,来帮我们更加方便去观察I/O是否阻塞。

先来看阻塞I/O

代码先贴上:index.js

const glob = require('glob');

var result = null;
console.time('glob')
result = glob.sync(__dirname + '/**/*')
console.timeEnd('glob')
console.log(result)

首先,先用require引入我们的glob包,接下来,用glob.sync去做一个打印目录的一个操作,将结果打印的同时,利用time/timeEnd,去记录时间,看node执行这个操作共花费多少时间。

在终端输入node index.js直接运行这个文件

Node.js中非阻塞I/O是什么

看第一行,在我的电脑上执行共花费20.93毫秒啊,这个数量在一个服务端来说,已经不小了。

再看非阻塞I/O

直接上代码:

const glob = require('glob');
var result = null;
console.time('glob')
glob(__dirname + '/**/*',function(err,res){
    result = res;
    // console.log(result)
    console.log('got result');
})
console.timeEnd('glob')
console.log('今天你卷了没?')

这次采用一个回调函数的方式来进行操作,因为result的打印出来实在太多行了,我们将其替换为打印出'got result',并在计时完成后进行一个打印语句的操作,让我们来看看结果:

Node.js中非阻塞I/O是什么

上述内容就是Node.js中非阻塞I/O是什么,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


本文题目:Node.js中非阻塞I/O是什么
本文链接:http://scyanting.com/article/pjiopd.html