node.js回調(diào)函數(shù)之阻塞調(diào)用與非阻塞調(diào)用
首先,node.js作為javascript運(yùn)行平臺,它采用了事件驅(qū)動(dòng)和異步編程的方式,通過事件注冊和異步函數(shù),開發(fā)人員可以提高資源利用率,服務(wù)器的性能也能得到改善。其次,對于前端人來說,node.js作為js的運(yùn)行平臺,我們可以通過編寫系統(tǒng)級或者服務(wù)器端的javascript代碼交給node.js來執(zhí)行,讓我們前端人也能作用于后臺,相比之下,瀏覽器端的javascript代碼在運(yùn)行時(shí)會(huì)受到各種安全性的限制,對客戶系統(tǒng)的操作有限,而node.js則是一個(gè)全面的后臺運(yùn)行時(shí),為javascript提供了許多其他語言能夠?qū)崿F(xiàn)的許多功能。
下面回歸正題,首先給大家介紹阻塞調(diào)用,具體內(nèi)容請往下看。
1.阻塞調(diào)用(讀取完文件再執(zhí)行后面的操作)
var fs = require("fs");
var data = fs.readFileSync('/fs.txt');
console.log(data.toString());
console.log("程序執(zhí)行結(jié)束!");
輸出結(jié)果:
“文件內(nèi)容”
“程序執(zhí)行結(jié)束!”
2.非阻塞調(diào)用(讀取文件和其他操作同步執(zhí)行)
var fs = require("fs");
fs.readFile('/fs.txt',function(err,data){
if(err) return console.error(err);
console.log(data.toString());
});
console.log("程序執(zhí)行結(jié)束!");
輸出結(jié)果:
“程序執(zhí)行結(jié)束!”
“文件內(nèi)容”
以上內(nèi)容是小編給大家介紹的node.js回調(diào)函數(shù)之阻塞調(diào)用與非阻塞調(diào)用的全部內(nèi)容,希望大家喜歡。
相關(guān)文章
nodejs如何讀取文件二進(jìn)制 前端響應(yīng)blob或base64顯示圖片
這篇文章主要介紹了nodejs如何讀取文件二進(jìn)制 前端響應(yīng)blob或base64顯示圖片方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08
詳解如何模擬實(shí)現(xiàn)node中的Events模塊(通俗易懂版)
這篇文章主要介紹了如何模擬實(shí)現(xiàn)node中的Events模塊(通俗易懂版),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
用Node.JS打造一個(gè)惡劣天氣實(shí)時(shí)預(yù)警系統(tǒng)
本文將從實(shí)戰(zhàn)的角度出發(fā),利用NodeJS以及聚合數(shù)據(jù)的第三方免費(fèi)接口打造一個(gè)完整的天氣實(shí)時(shí)預(yù)警項(xiàng)目系統(tǒng),具有一定的參考價(jià)值,感興趣的可以了解一下2021-12-12
Ubuntu22.04系統(tǒng)下升級nodejs到v18版本
ubuntu默認(rèn)安裝的nodejs版本比較老,要安裝到最新的,下面這篇文章主要給大家介紹了關(guān)于Ubuntu22.04系統(tǒng)下升級nodejs到v18版本的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06

