本文實例分析了nodejs事件的監聽與觸發。分享給大家供大家參考。具體分析如下:
關於nodejs的事件驅動,看了《nodejs深入淺出》還是沒看明白(可能寫的有點深,或者自己理解能力不夠好),今日在圖靈社區看到一篇關於nodejs事件的監聽與觸發,由於給的例子比較多人,很容易理解,所以也大致明白了nodejs事件驅動。
以下內容參考了圖靈社群的文章(網址:http://www.ituring.com.cn/article/177478)
首先來了解nodejs的Event模組:
Node.js中大部分的模組,都繼承自Event模組。 Event模組(events.EventEmitter)是一個簡單的事件監聽器模式的實作類別。它的物件具有addListener,on,once,removeListener,removeAllListeners,emit等基本的事件監聽模式的方法實作。
先看一個例子:
var events = require("events"); var emitter = new events.EventEmitter();//创建了事件监听器的一个对象 // 监听事件some_event emitter.on("some_event", function(){ console.log("事件触发,调用此回调函数"); }); setTimeout(function(){ emitter.emit("some_event"); //触发事件some_event },3000);
看到這個例子,就讓我想起了jQuery的自訂事件:
//给element绑定hello事件 element.on("hello",function(){ alert("hello world!"); }); //触发hello事件 element.trigger("hello");
這樣一對比就很容易理解nodejs的事件的監聽與觸發了。 emit 就相當於 jQuery 中的 trigger 觸發事件。
希望本文所述對大家的nodejs程式設計有幫助。