nodejs 事件EventEmitter

index.js:

// 引入 events 模块
var events = require(‘events‘);

//处理函数要写在调用前
var eventHandler = function(){
    console.log("事件1");
};

//创建事件
var eventEmitter = new events.EventEmitter();

//事件监听
eventEmitter.on(‘eventName‘, eventHandler);

//事件监听,匿名函数
eventEmitter.on(‘eventName‘, function(){
    console.log("事件2");
});

//触发事件,输出: 事件1  事件2
eventEmitter.emit(‘eventName‘);

//移除事件
eventEmitter.removeListener(‘eventName‘, eventHandler);

//触发事件,输出:事件2
eventEmitter.emit(‘eventName‘);

//新建事件2
var eventEmitter2 = new events.EventEmitter();
//不会触发任何事件
eventEmitter2.emit(‘eventName‘);

  

执行结果:

总结

1. 用法和flash、egret的事件差不多。

时间: 2024-10-09 20:15:50

nodejs 事件EventEmitter的相关文章

EventEmitter:nodeJs事件触发机制

Node.js 所有的异步 I/O 操作在完成时都会发送一个事件到事件队列 Node.js 里面的许多对象都会分发事件:一个 net.Server 对象会在每次有新连接时触发一个事件, 一个 fs.readStream 对象会在文件被打开的时候触发一个事件. 所有这些产生事件的对象都是 events.EventEmitter 的实例 NodeJs事件监听触发机制依赖 events 核心模块, events 模块只提供了一个对象: events.EventEmitter.EventEmitter

nodejs事件发布/订阅Emitter的使用

nodejs事件发布/订阅Emitter的使用 by 伍雪颖 var events = require('events'); var emitter = new events.EventEmitter(); emitter.on("event1",function (message) { console.log(message); }); emitter.emit('event1',"I am message");

nodejs 事件机制

node 事件机制 一 三种定时器 NodeJS中有三种类型的定时器:超时时间.时间间隔.即时定时器 1.超时时间:setTimeout(callback,delayMilliSeconds,[args])方法,如: setTimeout(myFunc,1000); setTimeout函数返回一个定时器对象的ID,可以在delayMilliSeconds到期前的任何时候把此ID传递给clearTimeOut()来取消时间函数. var myTimeout=setTimeout(myFunc,1

nodejs事件的监听与事件的触发

nodejs事件(Events) 一.事件机制的实现 Node.js中大部分的模块,都继承自Event模块(http://nodejs.org/docs/latest/api/events.html ).Event模块(events.EventEmitter)是一个简单的事件监听器模式的实现.具有addListener/on,once,removeListener,removeAllListeners,emit等基本的事件监听模式的方法实现.它与前端DOM树上的事件并不相同,因为它不存在冒泡,逐

nodejs 事件循环

Node.js 事件循环 Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高. Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用,并处理并发. Node.js 基本上所有的事件机制都是用设计模式中观察者模式实现. Node.js 单线程类似进入一个while(true)的事件循环,直到没有事件观察者退出,每个异步事件都生成一个事件观察者,如果有事件发生就调用该回调函数. 事件驱动程序 Node.js 使用事件驱动模型,当web

nodejs的事件EventEmitter

直接上代码: // 得到EventEmitter对象 var EventEmitter = require('events').EventEmitter; var eventEmitter = new EventEmitter(); var EVENT_NAME = 'some_event'; // 事件名 // ********************************************************** // 注册一个事件some_event // **********

Node.js(十)——NodeJs事件

NodeJs的事件模块 在爬虫代码中有个on('data')事件,为什么响应的res回有一个on方法呢,那这个on做什么事情呢,要回答这些问题,要从事件模块说起,在NodeJs中不存在浏览器中的冒泡.捕获这些行为的,所以NodeJs中实现的events这个模块,里面的大多数模块都集成了这个模块, 所以events是最重要的一个模块,它只对外暴露了一个对象,就是eventImit,作用有两个分别是事件的发射,和事件的监听,两个不同的执行环节本来是毫无联系的,但是有了事件模块的支持以后,这两个环节就

Nodejs事件模块小实例

挺直观的小example吧,放到文件里node一下,还是蛮有意思 /** * Created by Amy on 2017/7/13. */ var EventEmitter=require('events').EventEmitter var life=new EventEmitter() life.setMaxListeners(4)//系统默认最多不要超过十个,防止事件泄露 //addEventListener function water(who){ console.log('给'+wh

Nodejs事件引擎libuv源码剖析之:高效线程池(threadpool)的实现

声明:本文为原创博文,转载请注明出处. Nodejs编程是全异步的,这就意味着我们不必每次都阻塞等待该次操作的结果,而事件完成(就绪)时会主动回调通知我们.在网络编程中,一般都是基于Reactor线程模型的变种,无论其怎么演化,其核心组件都包含了Reactor实例(提供事件注册.注销.通知功能).多路复用器(由操作系统提供,比如kqueue.select.epoll等).事件处理器(负责事件的处理)以及事件源(linux中这就是描述符)这四个组件.一般,会单独启动一个线程运行Reactor实例来