nodejs事件的監(jiān)聽與觸發(fā)的理解分析
本文實(shí)例分析了nodejs事件的監(jiān)聽與觸發(fā)。分享給大家供大家參考。具體分析如下:
關(guān)于nodejs的事件驅(qū)動(dòng),看了《nodejs深入淺出》還是沒看明白(可能寫的有點(diǎn)深,或者自己理解能力不夠好),今日在圖靈社區(qū)看到一篇關(guān)于nodejs事件的監(jiān)聽與觸發(fā),由于給出的例子比較多人,很容易理解,所以也大致明白了nodejs事件驅(qū)動(dòng)。
以下內(nèi)容參考了圖靈社區(qū)的文章(地址:http://www.ituring.com.cn/article/177478)
首先來了解一下nodejs的Event模塊:
Node.js中大部分的模塊,都繼承自Event模塊。Event模塊(events.EventEmitter)是一個(gè)簡單的事件監(jiān)聽器模式的實(shí)現(xiàn)類。它的對象具有addListener,on,once,removeListener,removeAllListeners,emit等基本的事件監(jiān)聽模式的方法實(shí)現(xiàn)。
首先看一個(gè)例子:
var events = require("events"); var emitter = new events.EventEmitter();//創(chuàng)建了事件監(jiān)聽器的一個(gè)對象 // 監(jiān)聽事件some_event emitter.on("some_event", function(){ console.log("事件觸發(fā),調(diào)用此回調(diào)函數(shù)"); }); setTimeout(function(){ emitter.emit("some_event"); //觸發(fā)事件some_event },3000);
看到這個(gè)例子,就讓我想起了jQuery的自定義事件:
//給element綁定hello事件 element.on("hello",function(){ alert("hello world!"); }); //觸發(fā)hello事件 element.trigger("hello");
這樣一對比就很容易理解nodejs的事件的監(jiān)聽與觸發(fā)了。emit 就相當(dāng)于 jQuery 中的 trigger 觸發(fā)事件。
希望本文所述對大家的nodejs程序設(shè)計(jì)有所幫助。
相關(guān)文章
整理 node-sass 安裝失敗的原因及解決辦法(小結(jié))
這篇文章主要介紹了整理 node-sass 安裝失敗的原因及解決辦法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02Koa2中間件的作用及路由實(shí)現(xiàn)實(shí)例詳解
這篇文章主要介紹了Koa2中間件的作用及路由實(shí)現(xiàn)實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05Node.js基礎(chǔ)入門之回調(diào)函數(shù)及異步與同步詳解
Node.js是一個(gè)基于Chrome?V8引擎的JavaScript運(yùn)行時(shí)。類似于Java中的JRE,.Net中的CLR。本文將詳細(xì)為大家介紹Node.js中的回調(diào)函數(shù)及異步與同步,感興趣的可以了解一下2022-03-03node將geojson轉(zhuǎn)shp返回給前端的實(shí)現(xiàn)方法
這篇文章主要介紹了node將geojson轉(zhuǎn)shp返回給前端的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05nvm版本導(dǎo)致npm?install報(bào)錯(cuò)Unexpected?token?'.'的解決辦法
最近做項(xiàng)目遇到npm install 的問題,下面這篇文章主要給大家介紹了關(guān)于nvm版本導(dǎo)致npm?install報(bào)錯(cuò)Unexpected?token?'.'的解決辦法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07