您的位置:首页 >> LNMPA >> 和屌丝一起学Node.js—事件events
和屌丝一起学Node.js—事件events
[ 孤狼 | 2017-08-14 17:05:13 | LNMPA ]
声  明

本教程仅用于初学Node.js同学使用,内容由本人(孤狼)学习过程中笔记编写,本教程使用Node.js版本为6.11.1。本教程内容可以自由转载,但必须同时附带本声明,或注明出处。PAEA.CN版权所有。


上节我们了解了Node.js的Node.js里的全局对象.这节我们一起来看看node.js里的一个重点-事件event.


events是 Node.js 最重要的模块,没有“之一”,原因是 Node.js 本身架构就是事件式的,而它提供了唯一的接口,所以堪称 Node.js 事件编程的基石。events模块不仅用于用户代码与 Node.js 下层事件循环的交互,还几乎被所有的模块依赖。

events模块只提供了一个对象:events.EventEmitter.

EventEmitter的核心就是事件触发与事件监听器功能的封装.使用on来绑定事件,使用emit来触发事件.

//events.js
//创建events
var events = require('events');
//实例化
var shijian=new events.EventEmitter();
//事件1
function shijian1(){
console.log("触发事件1");
}
//事件2
function shijian2(){
console.log("触发事件2");
}
//绑定事件1
shijian.on("sj1",shijian1);
//绑定事件2
shijian.on("sj2",shijian2);
//触发事件2
shijian.emit("sj2");
//触发事件1
shijian.emit("sj1");

运行结果如下

1.jpg

同时也可以传参数给绑定事件.

//events2.js
//创建events
var events = require('events');
//实例化
var shijian=new events.EventEmitter();
//事件1
function shijian1(a){
console.log("触发事件1,你要的"+a+"已经发送");
}
//事件2
function shijian2(a,b){
console.log("触发事件2,你要的"+a+"已经在"+b+"发送");
}
//绑定事件1
shijian.on("sj1",shijian1);
//绑定事件2
shijian.on("sj2",shijian2);
//触发事件2
shijian.emit("sj2","香蕉","早上6点 ");
//触发事件1
shijian.emit("sj1","香蕉");

2.jpg


TIP:常用方法 on(绑定) emit(触发) once(只绑定运行一次) removeListener(移除监听) removeAllListeners(移除所有监听) 具体用法:https://nodejs.org/api/events.html


ERROR

error事件也是系统自带的一个.当我们遇到错误的时候,系统会自动触发该类事件.当然我们也可以手动触发.

//error.js
//创建events
var events = require('events');
//实例化
var error=new events.EventEmitter();
//触发
error.emit("error");

3.jpg


本节代码下载:链接: https://pan.baidu.com/s/1o7U4ops 密码: zynm

转载请注明出处:http://gl.paea.cn/lnmpa/content/2017/08/14/111.html