NodeJs入门学习(一)

时间:2023-09-26 10:07:02

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缓冲区,待更...