node.js回調(diào)函數(shù)之阻塞調(diào)用與非阻塞調(diào)用
首先,node.js作為javascript運(yùn)行平臺(tái),它采用了事件驅(qū)動(dòng)和異步編程的方式,通過(guò)事件注冊(cè)和異步函數(shù),開(kāi)發(fā)人員可以提高資源利用率,服務(wù)器的性能也能得到改善。其次,對(duì)于前端人來(lái)說(shuō),node.js作為js的運(yùn)行平臺(tái),我們可以通過(guò)編寫(xiě)系統(tǒng)級(jí)或者服務(wù)器端的javascript代碼交給node.js來(lái)執(zhí)行,讓我們前端人也能作用于后臺(tái),相比之下,瀏覽器端的javascript代碼在運(yùn)行時(shí)會(huì)受到各種安全性的限制,對(duì)客戶系統(tǒng)的操作有限,而node.js則是一個(gè)全面的后臺(tái)運(yùn)行時(shí),為javascript提供了許多其他語(yǔ)言能夠?qū)崿F(xiàn)的許多功能。
下面回歸正題,首先給大家介紹阻塞調(diào)用,具體內(nèi)容請(qǐng)往下看。
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)用的全部?jī)?nèi)容,希望大家喜歡。
相關(guān)文章
node.js中的buffer.slice方法使用說(shuō)明
這篇文章主要介紹了node.js中的buffer.slice方法使用說(shuō)明,本文介紹了buffer.slice的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12nodejs對(duì)項(xiàng)目下所有空文件夾創(chuàng)建gitkeep的方法
這篇文章主要介紹了nodejs對(duì)項(xiàng)目下所有空文件夾創(chuàng)建gitkeep的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08Node4-5靜態(tài)資源服務(wù)器實(shí)戰(zhàn)以及優(yōu)化壓縮文件實(shí)例內(nèi)容
這篇文章主要介紹了Node4-5靜態(tài)資源服務(wù)器實(shí)戰(zhàn)以及優(yōu)化壓縮文件實(shí)例內(nèi)容,有需要的朋友們可以參考學(xué)習(xí)下。2019-08-08通過(guò)Nodejs搭建網(wǎng)站簡(jiǎn)單實(shí)現(xiàn)注冊(cè)登錄流程
這篇文章主要介紹了通過(guò)Nodejs搭建網(wǎng)站簡(jiǎn)單實(shí)現(xiàn)注冊(cè)登錄流程,Node.js 是一個(gè)基于 Chrome V8 引擎的 JavaScript 運(yùn)行環(huán)境。 Node.js 使用了一個(gè)事件驅(qū)動(dòng)、非阻塞式 I/O 的模型,使其輕量又高效。,需要的朋友可以參考下2019-06-06socket.io學(xué)習(xí)教程之基礎(chǔ)介紹(一)
socket.io提供了基于事件的實(shí)時(shí)雙向通訊,所以下面這篇文章主要介紹了關(guān)于socket.io的相關(guān)資料,主要介紹了學(xué)習(xí)socket.io的基礎(chǔ)知識(shí),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-04-04Node.js在圖片模板上生成二維碼圖片并附帶底部文字說(shuō)明實(shí)現(xiàn)詳解
這篇文章主要介紹了Node.js在圖片模板上生成二維碼圖片并附帶底部文字說(shuō)明實(shí)現(xiàn)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08nodejs密碼加密中生成隨機(jī)數(shù)的實(shí)例代碼
本篇文章主要介紹了nodejs密碼加密中生成隨機(jī)數(shù)的實(shí)例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07Node.js中使用Log.io在瀏覽器中實(shí)時(shí)監(jiān)控日志(等同tail -f命令)
這篇文章主要介紹了Node.js中使用Log.io在瀏覽器中實(shí)時(shí)監(jiān)控日志,Log.io等同于tail -f命令,但更強(qiáng)大,需要的朋友可以參考下2014-09-09