1、事件发射器
events是node.js的核心模块,只提供了一个对象events.EventEmitter,EventEmitter的核心就是事件的发射与事件监听的封装。EventEmitter支持若干个事件的监听,当事件发射的时候,注册到这个事件的监听器依次被调用。下面看一个例子。
var events = require('events'); var emitter = new events.EventEmitter(); emitter.on('someEvent', function(arg1, arg2) { console.log('listener1', arg1, arg2); }); emitter.on('someEvent', function(arg1, arg2) { console.log('listener2', arg1, arg2); }); emitter.emit('someEvent', 'byvoid', 1991);
运行结果为:
listener1 byvoid 1991 listener2 byvoid 1991
程序先为emitter注册两个事件,然后emitter进行事件的发射,接着监听器被调用。
下面我们来看下EventEmitter常用的API
EventEmitter.on(event,listener),注册事件监听。
EventEmitter.emit(event,arg...),发射事件。
EventEmitter.once(event.listener),监听器只最多被触发一次,出发后立即解除。
EventEmitter.removeListener(event,listener),移除指定的listener。
EventEmitter.removeAllListeners(event),移除所有的监听器。
2、error事件
EventEmitter定义了一个特殊的事件error,当error发射的时候,EventEmitter规定如果没有响应的监听器,node.js会把它当作异常处理。
大多是的时候,我们不会直接使用EventEmitter,而是在对象中继承它。原因有两点。首先,具有某个实体功能的对象实现事件符合语意,其次,js支持部分多继承。继承自EventEmitter不会打乱对象原有的继承关系。
相关推荐
Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月,由Ryan Dahl开发,实质是对...Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。
第1章 Node.js简介 1 1.1 Node.js是什么 2 1.2 Node.js能做什么 3 1.3 异步式I/O与事件驱动 4 1.4 Node.js的性能 5 1.4.1 Node.js架构简介 5 1.4.2 Node.js与PHP+Nginx 6 1.5 JavaScript简史 6 ...
由于Node.js采用事件驱动、非阻塞I/O和异步输出来提升性能,因此大量I/O密集型的应用也采用Node.js开发。掌握Node.js开发,既能极大地拓宽前端开发者的技术知识面,也能拓展前端开发者的生存空间,从目前前端开发者...
由于Node.js采用事件驱动、非阻塞I/O和异步输出来提升性能,因此大量I/O密集型的应用也采用Node.js开发。掌握Node.js开发,既能极大地拓宽前端开发者的技术知识面,也能拓展前端开发者的生存空间,从目前前端开发者...
资源名称:Node.js参考手册 中文CHM版内容...Node.js是一个事件驱动I/O服务端Javascript环境,基于Google的V8引擎,V8引擎执行Javascript的速度 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
课程简介: Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月,由Ryan ...Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。
由于Node.js采用事件驱动、非阻塞I/O和异步输出来提升性能,因此大量I/O密集型的应用也采用Node.js开发。掌握Node.js开发,既能极大地拓宽前端开发者的技术知识面,也能拓展前端开发者的生存空间,从目前前端开发者...
Node.js 具有非阻塞、事件驱动的特性,使得它非常适合处理 I/O 密集型的应用,如网络应用和实时通讯应用等。 以下是使用 Node.js 的一般步骤: ### 1. 安装 Node.js 首先,您需要在您的系统上安装 Node.js。您...
Node.js Design Patterns Second Edition,nodejs领域驱动
Node.js是基于Chrome V8引擎的一键JavaScript运行时,采用单线程、异步IO和时间驱动设计来实现高并发,可以让JavaScript脱离浏览器运行在服务器上,Node.js是目前最大的开源包管理系统,推荐大家开发使用!
Node.js 使用了一个事件驱动、非 阻塞式I/O 的模型,使其轻量又高效。Node.js 的包管理器npm,是全球最 大的开源库生态系统。 2. 下载Node.js 打开官网下载链接:https://nodejs.org/en/download/ 如下图: 四、选择...
Node Windows 64安装包,Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。...Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm
本篇文章主要介绍了理解 Node.js 事件驱动机制的原理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于 Chrome V8 引擎的...Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm,是全球最大的开源库生态系统。
实时Web应用:由于Node.js的异步和事件驱动的特性,它非常适合构建实时Web应用,如在线游戏、实时协作工具等。 API后端:Node.js可以作为API后端,提供数据服务,与前端进行交互。例如,构建RESTful API或GraphQL ...
计算机二级c语言真题后端开发 技术关键词: Node.js与Express框架 内容关键词: 事件驱动的非阻塞I/O ...Node.js的非阻塞I/O和事件驱动模型,使其非常适合处理高并发的实时应用,如在线聊天、实时数据流等。
第1章 Node.js简介 1 1.1 Node.js是什么 2 1.2 Node.js能做什么 3 1.3 异步式I/O与事件驱动 4 1.4 Node.js的性能 5 1.4.1 Node.js架构简介 5 1.4.2 Node.js与PHP+Nginx 6 1.5 JavaScript简史...
Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的 易于扩展的网络应用· Node.js 借助事件驱动, 非阻塞I/O 模型变得轻量和高效, 非常适合 运行在分布式设备 的 数据密集型 的...