您好,登錄后才能下訂單哦!
本篇文章為大家展示了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
直接運行這個文件
看第一行,在我的電腦上執行共花費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是什么,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。