老域名对做网站的,网站开发难吗2008,松原做网站公司,学校网站做链接文章目录 一、EventEmitter介绍二、EventEmitter方法三、EventEmitter类方法四、EventEmitter事件五、EventEmitter的error 事件六、node介绍七、相关链接 一、EventEmitter介绍
Node.js 的 EventEmitter 是一个核心模块#xff0c;用于处理事件驱动的编程。它提供了一个事件… 文章目录 一、EventEmitter介绍二、EventEmitter方法三、EventEmitter类方法四、EventEmitter事件五、EventEmitter的error 事件六、node介绍七、相关链接 一、EventEmitter介绍
Node.js 的 EventEmitter 是一个核心模块用于处理事件驱动的编程。它提供了一个事件发射器类可以在其上注册事件监听器并在特定事件发生时触发这些监听器。
下面是 EventEmitter 的主要概念和用法
事件事件是由 EventEmitter 类表示的字符串或数字。你可以在任何时候触发这些事件。监听器监听器是一个函数当特定事件被触发时它将被调用。你可以使用 on 方法添加监听器到特定事件。触发事件使用 emit 方法可以触发一个事件所有注册到该事件的监听器都将被调用。移除监听器如果你不再需要一个监听器可以使用 off 方法将其从事件中移除。一次性监听器使用 once 方法可以添加一个只触发一次的监听器。错误事件EventEmitter 定义了一个特殊的 error 事件当任何其他事件失败时都会触发该事件。
下面是一个简单的示例演示如何使用 EventEmitter
const EventEmitter require(events);class MyEmitter extends EventEmitter {}const myEmitter new MyEmitter();// 添加监听器
myEmitter.on(event, () {console.log(Event has been triggered!);
});// 触发事件
myEmitter.emit(event); // 输出: Event has been triggered!在这个示例中我们创建了一个继承自 EventEmitter 的自定义类 MyEmitter并创建了一个 myEmitter 实例。然后我们使用 on 方法添加了一个监听器到 event 事件并使用 emit 方法触发了该事件。监听器函数将输出一条消息表示事件已被触发。
二、EventEmitter方法
addListener(event, listener)为指定事件添加一个监听器到监听器数组的尾部。on(event, listener)为指定事件注册一个监听器接受一个字符串 event 和一个回调函数。
server.on(connection, function (stream) {console.log(someone connected!);
});once(event, listener)为指定事件注册一个单次监听器即 监听器最多只会触发一次触发后立刻解除该监听器。
server.once(connection, function (stream) {console.log(Ah, we have our first user!);
});removeListener(event, listener)移除指定事件的某个监听器监听器必须是该事件已经注册过的监听器。
它接受两个参数第一个是事件名称第二个是回调函数名称。
var callback function(stream) {console.log(someone connected!);
};
server.on(connection, callback);
// ...
server.removeListener(connection, callback);removeAllListeners([event])移除所有事件的所有监听器 如果指定事件则移除指定事件的所有监听器。setMaxListeners(n)默认情况下 EventEmitters 如果你添加的监听器超过 10 个就会输出警告信息。 setMaxListeners 函数用于改变监听器的默认限制的数量。listeners(event)返回指定事件的监听器数组。emit(event, [arg1], [arg2], […])按监听器的顺序执行执行每个监听器如果事件有注册监听返回 true否则返回 false。
三、EventEmitter类方法
listenerCount(emitter, event)返回指定事件的监听器数量。
events.EventEmitter.listenerCount(emitter, eventName) //已废弃不推荐
events.emitter.listenerCount(eventName) //推荐四、EventEmitter事件
newListener该事件在添加新监听器时被触发。
event - 字符串事件名称listener - 处理事件函数
removeListener从指定监听器数组中删除一个监听器。需要注意的是此操作将会改变处于被删监听器之后的那些监听器的索引
event - 字符串事件名称listener - 处理事件函数
五、EventEmitter的error 事件
EventEmitter 定义了一个特殊的事件 error它包含了错误的语义我们在遇到 异常的时候通常会触发 error 事件。
当 error 被触发时EventEmitter 规定如果没有响 应的监听器Node.js 会把它当作异常退出程序并输出错误信息。
我们一般要为会触发 error 事件的对象设置监听器避免遇到错误后整个程序崩溃。例如
var events require(events);
var emitter new events.EventEmitter();
emitter.emit(error); 六、node介绍
Node.js是一个基于Chrome V8引擎的JavaScript运行环境可以用于构建高性能的网络应用程序。它采用事件驱动、非阻塞I/O模型使得程序可以以高效地方式处理并发请求。
Node.js的特点包括
单线程Node.js采用单线程模型使用事件循环来处理并发请求。这意味着它可以高效地处理大量的并发请求而不会因为线程切换而产生开销。非阻塞I/ONode.js使用非阻塞I/O模型可以在进行I/O操作时继续处理其他请求而不需要等待I/O操作完成。这使得Node.js非常适合处理高并发的网络应用程序。异步编程Node.js采用异步编程模式可以使用回调函数来处理异步操作的结果。这使得开发者可以编写简洁、可读性强的代码同时可以更好地利用系统资源。轻量级Node.js是一个轻量级的运行环境所需的资源较少并且可以快速启动。这使得它非常适合部署在云服务器等资源有限的环境中。前后端一体化Node.js可以用于开发前端和后端的代码使得前后端可以共享相同的语言和模块。这样可以简化开发流程并提高开发效率。
Node.js的应用场景包括
Web应用程序Node.js可以用于开发高性能的Web应用程序如实时聊天应用、实时协作工具等。RESTful API服务Node.js可以用于开发高性能的API服务提供数据和功能的接口。实时数据应用程序Node.js可以用于开发实时数据应用程序如实时数据分析、实时监控等。游戏后台服务器Node.js可以用于开发游戏后台服务器处理大量的并发请求。
Node.js是一个功能强大、高性能的JavaScript运行环境适用于开发各种类型的网络应用程序。它的优势在于高并发处理能力、高效的I/O操作、简洁的异步编程模型以及与前端一体化等特点。
七、相关链接
npm版本node文档node教程node历史版本node介绍node文件系统node创建应用