NodeJs是针对前端工程师向web后端深入理解的一门很好的语言。
首先,记录NodeJS几大特性,后续补充:
一、Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高。
二、Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用,并处理并发。
三、Node.js 基本上所有的事件机制都是用设计模式中观察者模式实现。
其次,针对 EventEmitter 类做学习记录:
Node.js EventEmitter
events模块只提供了 events.EventEmitter 对象。
EventEmitter对象的核心功能就是事件触发与事件监听器功能的封装。
我们可以通过 require('events').EventEmitter来访问该模块。
EventEmitter实例化后,可以调用一些方法:
常用方法:
一、addListener(event, listener)
参数event为监听的事件名称,listener为监听事件触发的回调函数
功能:为指定事件添加一个监听器到监听器数组的尾部。
二、on(event, listener)
功能:为指定事件注册一个监听器,接受一个字符串 event 和一个回调函数。
三、removeListener(event, listener)
功能:移除指定事件的某个监听器,监听器 必须是该事件已经注册过的监听器。
四、setMaxListeners(n)
功能: 个就会输出警告信息。 setMaxListeners 函数用于提高监听器的默认限制的数量。
五、emit(event, arg1, arg2, ...)
功能:按参数的顺序执行每个监听器,如果事件有注册监听返回 true,否则返回 false。
(参数传入回调函数的参数中)
类方法:
listenerCount(emitter, event)
参数emitter为EventEmitter实例化后的对象,event为注册的事件
功能:返回指定事件的监听器数量。
个人观点:可实时查看指定事件的监听器数量,随时做修改。
总结:今天学习了NodeJs事件回调、触发及buffer缓冲区,待更...