我是靠谱客的博主 寒冷蜜蜂,最近开发中收集的这篇文章主要介绍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事件总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部