Node模块之Events模块

第一 Events概述

Events模块Node发布/订阅模式(publish/subscribe)的实现。一个对象通过这个模块,向另一个对象传递消息。

Node中的Event模块仅仅提供了一个对象EventEmitter, EventEmitter 核心就是事件触发与事件监听器功能的封装。




获取EventEmitter对象

//51testing
//引用模块events, 点语法获取到EventEmitter
var EventEmitter = require('events').EventEmitter;
//初始化一个对象, 这个实例就是消息中心。
var emitter = new EventEmitter;
第二 EventEmitter 实例对象的方

2.1emitter.on(eventName, listener), 监听事件,如果触发就调用回调函数

1. eventName <String> | <Symbol>: 事件名称, 后边可以跟上函数;
2. listener <Function> : 回调函数;

2.2 emitter.emit(eventName[,...args]), 根据eventName发送通知, 触发事件, 第一个参数为事件名称, 其余的参数会依次传入回调函数

2.3 emitter.once(eventName, listener), 类似on方法, 但回函数只是行一次

2.4emitter.addListener(eventName, listener)类似于emitter.on(eventName, listener)

2.5emitter.removeListener(eventName, listener), 移除监听

详细见实例代码:

varEventEmitter = require('events').EventEmitter;

var emitter =new EventEmitter();

 

//定义一个函数

var removeFun= function(){

    console.log('输出结果');

}

//fun名称监听removeFun

emitter.on('fun',removeFun);

//每个30毫秒触发一次回调函数

setInterval(function(){

    emitter.emit('fun');

}, 30);

//200毫秒以后触发回调函数

setTimeout(function(){

    emitter.removeListener('fun',removeFun);

}, 200);

 

打印结果

$ node 5removeListener.js

输出结果

输出结果

输出结果

输出结果

输出结果

#光标停止

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值