nodejs事件的监听与触发的理解分析
内容摘要
本文实例分析了nodejs事件的监听与触发。分享给大家供大家参考。具体分析如下:
关于nodejs的事件驱动,看了《nodejs深入浅出》还是没看明白(可能写的有点深,或者自己理解能力不
关于nodejs的事件驱动,看了《nodejs深入浅出》还是没看明白(可能写的有点深,或者自己理解能力不
文章正文
本文实例分析了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程序设计有所帮助。
代码注释