nodeJS阻塞和非阻塞
阿新 • • 發佈:2018-12-28
1、建立一個簡單的文字文件text.txt(我的文件內容是:歡迎來到nodeJS的世界)
2、阻塞
(1)建立一個名為demo2.js的檔案
(2)輸入程式碼:
var fs = require("fs");
var data = fs.readFileSync('text.txt');
console.log(data.toString());
console.log("程式執行結束!");
(3)結果:
3、非阻塞
(1)建立一個名為demo3.js的檔案
(2)在檔案輸入程式碼:
var fs = require("fs"); fs.readFile('text.txt',function(err,data){ if (err) { console.log(error); return; } else { console.log(data.toString()); } }); console.log("程式執行結束!");
(3)結果:
4、總結
阻塞,讀取檔案同步I/O操作,等待檔案讀取完再進行其他操作。
非阻塞,讀取檔案是非同步回撥,在等待檔案讀取時可以進行其他操作,這就大大提高了 Node.js 的效能,可以處理大量的併發請求。
注:阻塞使用的是 fs.readFileSync(); 非阻塞使用的是 fs.readFile();