欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Node.js中怎么實現(xiàn)事件循環(huán)

這篇文章將為大家詳細講解有關(guān)Node.js中怎么實現(xiàn)事件循環(huán),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

創(chuàng)新互聯(lián)公司從2013年成立,先為濂溪等服務建站,濂溪等地企業(yè),進行企業(yè)商務咨詢服務。為濂溪企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。

Node.js 事件循環(huán)

Node.js 是單進程單線程應用程序,但是通過事件和回調(diào)支持并發(fā),所以性能非常高。

Node.js 的每一個 API 都是異步的,并作為一個獨立線程運行,使用異步函數(shù)調(diào)用,并處理并發(fā)。

Node.js 基本上所有的事件機制都是用設(shè)計模式中觀察者模式實現(xiàn)。

Node.js 單線程類似進入一個while(true)的事件循環(huán),直到?jīng)]有事件觀察者退出,每個異步事件都生成一個事件觀察者,如果有事件發(fā)生就調(diào)用該回調(diào)函數(shù).

。。。

事件驅(qū)動程序

Node.js 使用事件驅(qū)動模型,當web server接收到請求,就把它關(guān)閉然后進行處理,然后去服務下一個web請求。

當這個請求完成,它被放回處理隊列,當?shù)竭_隊列開頭,這個結(jié)果被返回給用戶。

這個模型非常高效可擴展性非常強,因為webserver一直接受請求而不等待任何讀寫操作。(這也被稱之為非阻塞式IO或者事件驅(qū)動IO)

在事件驅(qū)動模型中,會生成一個主循環(huán)來監(jiān)聽事件,當檢測到事件時觸發(fā)回調(diào)函數(shù)。

整個事件驅(qū)動的流程就是這么實現(xiàn)的,非常簡潔。有點類似于觀察者模式,事件相當于一個主題(Subject),而所有注冊到這個事件上的處理函數(shù)相當于觀察者(Observer)。

Node.js 有多個內(nèi)置的事件,我們可以通過引入 events 模塊,并通過實例化 EventEmitter 類來綁定和監(jiān)聽事件,如下實例:

// 引入 events 模塊

http://www.iis7.com/a/lm/yczmljgj/

var events = require('events');

// 創(chuàng)建 eventEmitter 對象

var eventEmitter = new events.EventEmitter();

以下程序綁定事件處理程序:

// 綁定事件及事件的處理程序

eventEmitter.on('eventName', eventHandler);

我們可以通過程序觸發(fā)事件:

// 觸發(fā)事件

eventEmitter.emit('eventName');

關(guān)于Node.js中怎么實現(xiàn)事件循環(huán)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

文章名稱:Node.js中怎么實現(xiàn)事件循環(huán)
新聞來源:http://chinadenli.net/article44/gjdghe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)手機網(wǎng)站建設(shè)外貿(mào)建站App開發(fā)品牌網(wǎng)站設(shè)計做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設(shè)