事件驱动程序

Node.js 有多个内置的事件,我们可以通过引入 events 模块,并通过实例化 EventEmitter 类来绑定和监听事件,如下实例:

// 引入 events 模块

var events = require('events');

// 创建 eventEmitter 对象

var eventEmitter = new events.EventEmitter();

以下程序绑定事件处理程序:

// 绑定事件及事件的处理程序

eventEmitter.on('eventName', eventHandler);

我们可以通过程序触发事件:

// 触发事件

eventEmitter.emit('eventName');


先绑定一个程序给事件,再触发事件

实例

创建 main.js 文件,代码如下所示:

// 引入 events 模块

var events = require('events');

// 创建 eventEmitter 对象

var eventEmitter = new events.EventEmitter();

// 创建事件处理程序

var connectHandler = function connected() {

  console.log('连接成功。');


  // 触发 data_received 事件

  eventEmitter.emit('data_received');

}

// 绑定 connection 事件处理程序

eventEmitter.on('connection', connectHandler);

// 使用匿名函数绑定 data_received 事件

eventEmitter.on('data_received', function(){

  console.log('数据接收成功。');

});

// 触发 connection 事件

eventEmitter.emit('connection');

console.log("程序执行完毕。");

接下来让我们执行以上代码:

$ node main.js

连接成功。

数据接收成功。

程序执行完毕。


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 参考内容:Node.js REPL(交互式解释器)C/C++之回调函数注意 - 在nodejs网页中使用中文时需要...
    小异_Summer阅读 299评论 0 0
  • https://nodejs.org/api/documentation.html 工具模块 Assert 测试 ...
    KeKeMars阅读 6,464评论 0 6
  • node 基本语法 npm 简介 NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多...
    big5阅读 311评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,200评论 19 139
  • Node.js EventEmitter Node.js 所有的异步 I/O 操作在完成时都会发送一个事件到事件队...
    FTOLsXD阅读 331评论 1 2