我是靠谱客的博主 寒冷蜜蜂,最近开发中收集的这篇文章主要介绍Node.js后端开发 - 基础篇 #5 事件一、一个简单的事件演示二、比较真实一点的事件例子三、nodejs事件总结,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
文章目录
一、一个简单的事件演示
二、比较真实一点的事件例子
三、nodejs事件总结
上一篇文章我们介绍了nodejs的模块、module.exports 关键字暴露内容、require关键字请求内容以及他们的多种写法,详见: Node.js后端开发 - 基础篇 #4 模块 这篇文章我们将介绍nodejs的事件,nodejs本来就是基于事件驱动的,事件是nodejs的核心,所以我们要重点好好了解学习。
一、一个简单的事件演示
我们可以在app.js里面写入以下代码:
//这个require('events')你在当前目录的模块文件是找不到的,因为这是nodejs的核心库,
//所以它可以这样直接使用,其中events它是事件的一个库。
var events = require('events');
//新增一个事件对象
var myEmitter = new events.EventEmitter;
//然后我们要为新增的事件,绑定一个监听的函数on
//参数1:'someEvent' 为事件的名称
//参数2:事件发生后回调的函数
myEmitter.on('someEvent',function (message) {
console.log(message);
})
//那么怎么来触发呢? 我们可以手动用代码来触发
//参数1:事件名称。
//参数2:传入参数内容,它对应函数的message参数
myEmitter.emit('someEvent', 'the event was emitted');
然后我们来看一看输出结果:
bogon:hello-nodejs luminal$ node app
the event was emitted
bogon:hello-nodejs luminal$
二、比较真实一点的事件例子
基于上面的例子代码,我们改改来看看一个比较真实一点的例子,代码如下:
var events = require('events');
//这个库是一个工具库,里面包含了很多工具,它也是nodejs的核心库之一
//我们可参考api:https://nodejs.org/dist/latest-v9.x/docs/api/util.html
var util = require('util');
// 定义一个Person类,这是javaScript的写法
var Person = function(name) {
this.name = name;
}
//然后我们调用工具库里面的函数inherits
//让 Person类 继承 events.EventEmitter 事件类
util.inherits(Person, events.EventEmitter);
//新建三个Person对象
var xiaoming = new Person('xiaoming');
var xiaohua = new Person('xiaohua');
var xiaobai = new Person('xiaobai');
// 把三个Person对象 放到 数组中
var person = [xiaoming,xiaohua,xiaobai];
// forEach 循环 person数组,
// 为每个Person对象,依次绑定一个监听的函数on
person.forEach(function(person) {
person.on('speak',function(message) {
console.log(person.name + "说:" + message);
})
});
//手动用代码来触发
xiaoming.emit('speak', '123');
xiaohua.emit('speak', '456');
xiaobai.emit('speak', '789');
然后我们来看一看输出结果:
bogon:hello-nodejs luminal$ node app
xiaoming说:123
xiaohua说:456
xiaobai说:789
bogon:hello-nodejs luminal$
三、nodejs事件总结
因为自己做过多年的java、android开发,通过上面的例子不难发现,nodejs事件无非就是三步曲,
1、新建 或 继承 事件对象。 events.EventEmitter
2、绑定、回调。on
3、触发。emit
nodejs事件的几个api的链接,方便参考:
Events | Node.js v9.11.2 Documentation
Util | Node.js v9.11.2 Documentation
Util | Node.js v9.11.2 Documentation
最后
以上就是寒冷蜜蜂为你收集整理的Node.js后端开发 - 基础篇 #5 事件一、一个简单的事件演示二、比较真实一点的事件例子三、nodejs事件总结的全部内容,希望文章能够帮你解决Node.js后端开发 - 基础篇 #5 事件一、一个简单的事件演示二、比较真实一点的事件例子三、nodejs事件总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复