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

NodeJs入门学习(一)的更多相关文章

  1. NodeJS入门学习教程

    一.概念 1.什么是nodejs Node.js是JavaScript 运行时环境,通俗易懂的讲,Node.js是JavaScript的运行平台 Node.js既不是语言,也不是框架,它是一个平台 2 ...

  2. NodeJS入门学习

    node.js 概念:是一个由c++编写的,本质上是一个javascript的运行环境,他可以让js代码运行在服务器端. node可以解析JS代码(没有浏览器安全级的限制) 提供系统级别的API: 1 ...

  3. nodejs入门学习笔记一——一个完整的http路由服务实现

    开始学习nodejs! 参考书籍:The Node Beginner Book ,所有问题和讨论都围绕本书. 1.学习nodejs需要具备的基础知识: js基本语法,基本上写过前端的都能满足,原生js ...

  4. nodejs 入门学习

    Node.js学习笔记——Node.js开发Web后台服务   目录 一.简介 二.搭建Node.js开发环境 2.1.安装Node.js 2.2.安装IDE开发Node.js插件 三.第一个Node ...

  5. nodejs入门学习笔记二——解决阻塞问题

    在最开始,我们要弄清楚node会什么会存在阻塞? node是这么标榜自己的:“在node中除了代码,所有一切都是并行执行的!” 意思是,Node.js可以在不新增额外线程的情况下,依然可以对任务进行并 ...

  6. nodeJs 5.0.0 安装配置与nodeJs入门例子学习

    新手学习笔记,高手请自动略过 安装可以先看这篇:http://blog.csdn.net/bushizhuanjia/article/details/7915017 1.首先到官网去下载exe,或者m ...

  7. [Todo] Nodejs学习及Spider实验(包括php入门学习、React入门学习)

    /Users/baidu/Documents/Data/Interview/Web-Server开发 深入浅出Node.js-f46c http://blog.csdn.net/u012273376/ ...

  8. 01.Nodejs入门之Helloworld

    说明:本文章可供有一定js基础的朋友参考nodejs入门,本文未讲解nodejs的安装,如有需要的同学可以加QQ3382260752找我,进行交流学习. 1.新建文件夹helloworld demo, ...

  9. node入门学习(一)

    一.安装node.js 方式很多npm,git等,新手建议从官网上直接去下载node的安装包.一键安装. 二.创建一个web服务器. const http = require('http'); htt ...

随机推荐

  1. VNC软件的安装及使用方法说明

    本篇仅为作业... 实验课程:Linux系统 指导老师:刘臣奇 实验机器:联想y410p 实验时间:2016年9月11日 学生学号:140815 姓名:杨文乾 在一台机器安装viewer的同时,在另一 ...

  2. 【无私分享:ASP.NET CORE 项目实战(第九章)】创建区域Areas,添加TagHelper

    目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 在Asp.net Core VS2015中,我们发现还有很多不太简便的地方,比如右击添加视图,转到试图页等功能图不见了,虽然我 ...

  3. 供应链需求调研CheckList

    总体(General) 基本情况 1.    企业地址.邮编.电话.传真,项目联系人等基本资料. 2.    企业经营范围,产品线和主导产品. 3.    企业近几年的产值及销售额. 4.    企业 ...

  4. 时隔两个月再写的Echarts(Enterprise Charts,商业级数据图表)一文

    简介 ECharts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9/10 ...

  5. H5 本地存储一

    localStorage(本地存储),可以长期存储数据,没有时间限制,一天,一年,两年甚至更长,数据都可以使用.sessionStorage(会话存储),只有在浏览器被关闭之前使用,创建另一个页面时同 ...

  6. CSS3之过渡及2D变换

    transition过渡 transition-duration:; 运动时间 transition-delay:; 延迟时间 transition-timing-function:; 运动形式 ea ...

  7. H5——表单验证新特性,注册模态框!

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  8. 深度剖析 | 基于大数据架构的BI应用

    说起互联网.电商的数据分析,更多的是谈应用案例,如何去实践数据化管理运营.而这里,我们要从技术角度分享关于数据的技术架构干货,如何应用BI. 原文是云猴网BI总经理王卫东在帆软大数据上的演讲,以下是整 ...

  9. 【转】 iOS9.2-iOS9.3.3越狱插件清单

    以下是iOS9.3.3越狱插件清单 原文地址:http://bbs.feng.com/read-htm-tid-10668605.html 序列 支持与否 插件名称 兼容版本 支持设备 1 是 20 ...

  10. 【原】HTTP in iOS你看我就够

    声明:本文是本人 编程小翁 原创,转载请注明. 本文同步发布在简书中,强烈建议移步简书查看,编程小翁 HTTP属于老话题了,在项目中我们经常需要往服务端发POST或者GET请求,但是对于HTTP的了解 ...