今天就跟大家聊聊有關Node.js中如何實現(xiàn)事件循環(huán),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

Node.js 事件循環(huán)詳解及實例
Node.js 是單進程單線程應用程序,但是通過事件和回調(diào)支持并發(fā),所以性能非常高。
Node.js 的每一個 API 都是異步的,并作為一個獨立線程運行,使用異步函數(shù)調(diào)用,并處理并發(fā)。
Node.js 基本上所有的事件機制都是用設計模式中觀察者模式實現(xiàn)。
Node.js 單線程類似進入一個while(true)的事件循環(huán),直到?jīng)]有事件觀察者退出,每個異步事件都生成一個事件觀察者,如果有事件發(fā)生就調(diào)用該回調(diào)函數(shù).
Node.js 有多個內(nèi)置的事件,我們可以通過引入 events 模塊,并通過實例化 EventEmitter 類來綁定和監(jiān)聽事件,如下實例:
// 引入 events 模塊
var events = require('events');
// 創(chuàng)建 eventEmitter 對象
var eventEmitter = new events.EventEmitter();
// 創(chuàng)建事件處理程序
var connectHandler = function connected() {
console.log(1);
// 觸發(fā) data_received 事件
eventEmitter.emit('data_received');
}
// 綁定 connection 事件處理程序
eventEmitter.on('connection', connectHandler);
// 使用匿名函數(shù)綁定 data_received 事件
eventEmitter.on('data_received', function(){
console.log(2);
});
// 觸發(fā) connection 事件
eventEmitter.emit('connection');
console.log(3);在 Node 應用程序中,執(zhí)行異步操作的函數(shù)將回調(diào)函數(shù)作為最后一個參數(shù), 回調(diào)函數(shù)接收錯誤對象作為第一個參數(shù)。
var fs = require("fs")
fs.readFile('input.txt',function(err,data){
if(err)
console.log(err)
else
console.log(data.toString())
})
console.log("程序執(zhí)行完成")看完上述內(nèi)容,你們對Node.js中如何實現(xiàn)事件循環(huán)有進一步的了解嗎?如果還想了解更多知識或者相關內(nèi)容,請關注創(chuàng)新互聯(lián)成都網(wǎng)站建設公司行業(yè)資訊頻道,感謝大家的支持。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
標題名稱:Node.js中如何實現(xiàn)事件循環(huán)-創(chuàng)新互聯(lián)
鏈接分享:http://www.chinadenli.net/article0/pdsio.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供自適應網(wǎng)站、企業(yè)建站、網(wǎng)站維護、云服務器、企業(yè)網(wǎng)站制作、網(wǎng)頁設計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)