美文网首页
Node.js 的 events 模块

Node.js 的 events 模块

作者: Axiba | 来源:发表于2016-12-11 11:52 被阅读37次

Node.js 没有浏览器的事件冒泡、事件捕获机制。

events 模块是 Node.js 基础及重要的模块, 只对外暴露一个event 对象 eventEmitter ,对象有两个方法,event.emit :事件发射;event.listener :事件监听。 可最多向一个事件添加十个监听(回调方法)

//添加监听
var EventEmitter = require('events').EventEmitter;
var instance = new EventEmitter();
instance.on('eventname', function(arguments){}); // 监听的时间和事件触发后执行的函数

//自定义最大数
instance.setMaxListeners(11) ;  //  设置事件最大监听(针对每种事件)  默认为10个,官方说明超过十个会造成内存泄露,最好不要超过十个
 
// 事件监听之后,需要emit(发射,发出)才会执行
instance.emit('eventname', arguments);  // 触发的事件和需要传递的形参

//判断是否监听
boolean instance.emit('eventname',arguments)    //true or false

//移除监听事件
//移除单个事件监听
instance.removeListener('eventname',funcName)   //移除事件需具名函数,匿名函数不行

//移除多个事件监听
instance.removeAllListerner()   //不传参表示移除所有事件监听
instance.removeAllListerner('eventname')    //移除特定event的所有事件监听

//计算事件监听数量
//第一种
instance.listeners('eventname').length
//第二种
EventEmitter.listenerCount(instance, 'eventname')

相关文章

  • Nodejs学习第8天

    Events - events模块是Node.js的核心模块、核心API之一,它是Node.js事件驱动模型的核...

  • Nodejs学习笔记(二)--- 事件模块

    1、简介 events是node.js 最重要的模块,events模块只提供了一个对象events.EventEm...

  • Node.js 的 events 模块

    Node.js 没有浏览器的事件冒泡、事件捕获机制。 events 模块是 Node.js 基础及重要的模块, 只...

  • JS原生实现EventEmitter事件队列

    EventEmitter 是什么 Node.js 的 events 模块对外提供了一个 EventEmitter ...

  • Node.js Events模块

    Node.js Events模块 实验简介: 在Node.js中,很多对象都会发出事件。比如,fs.readStr...

  • 事件驱动程序

    Node.js 有多个内置的事件,我们可以通过引入 events 模块,并通过实例化 EventEmitter 类...

  • 实现一个EventEmitter类

    EventEmitter是Node.js的内置模块events提供的一个类,它是Node事件流的核心。 下面模拟实...

  • Node.js(三):Events模块

    1、通常,事件名采用驼峰式命名方式。2、对象发出来的事件需要有函数来获取并处理,对此,需要先使一个事件与一个相响应...

  • node.js events事件模块

    1、EventEmitter来自events模块。调用的时候为: 2、所有能触发事件的对象都是 EventEmit...

  • Events 模块

    Events 是 node.js 中一个非常重要的 模块。 所有能触发事件的对象都是EventEmitter类的实...

网友评论

      本文标题:Node.js 的 events 模块

      本文链接:https://www.haomeiwen.com/subject/dhqpmttx.html