NodeJs入门学习(一)
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入门学习(一)的更多相关文章
- NodeJS入门学习教程
一.概念 1.什么是nodejs Node.js是JavaScript 运行时环境,通俗易懂的讲,Node.js是JavaScript的运行平台 Node.js既不是语言,也不是框架,它是一个平台 2 ...
- NodeJS入门学习
node.js 概念:是一个由c++编写的,本质上是一个javascript的运行环境,他可以让js代码运行在服务器端. node可以解析JS代码(没有浏览器安全级的限制) 提供系统级别的API: 1 ...
- nodejs入门学习笔记一——一个完整的http路由服务实现
开始学习nodejs! 参考书籍:The Node Beginner Book ,所有问题和讨论都围绕本书. 1.学习nodejs需要具备的基础知识: js基本语法,基本上写过前端的都能满足,原生js ...
- nodejs 入门学习
Node.js学习笔记——Node.js开发Web后台服务 目录 一.简介 二.搭建Node.js开发环境 2.1.安装Node.js 2.2.安装IDE开发Node.js插件 三.第一个Node ...
- nodejs入门学习笔记二——解决阻塞问题
在最开始,我们要弄清楚node会什么会存在阻塞? node是这么标榜自己的:“在node中除了代码,所有一切都是并行执行的!” 意思是,Node.js可以在不新增额外线程的情况下,依然可以对任务进行并 ...
- nodeJs 5.0.0 安装配置与nodeJs入门例子学习
新手学习笔记,高手请自动略过 安装可以先看这篇:http://blog.csdn.net/bushizhuanjia/article/details/7915017 1.首先到官网去下载exe,或者m ...
- [Todo] Nodejs学习及Spider实验(包括php入门学习、React入门学习)
/Users/baidu/Documents/Data/Interview/Web-Server开发 深入浅出Node.js-f46c http://blog.csdn.net/u012273376/ ...
- 01.Nodejs入门之Helloworld
说明:本文章可供有一定js基础的朋友参考nodejs入门,本文未讲解nodejs的安装,如有需要的同学可以加QQ3382260752找我,进行交流学习. 1.新建文件夹helloworld demo, ...
- node入门学习(一)
一.安装node.js 方式很多npm,git等,新手建议从官网上直接去下载node的安装包.一键安装. 二.创建一个web服务器. const http = require('http'); htt ...
随机推荐
- 怎么解决tomcat占用8080端口问题
怎么解决tomcat占用8080端口问题 相信很多朋友都遇到过这样的问题吧,tomcat死机了,重启eclipse之后,发现 Several ports (8080, 8009) requir ...
- Entity Framework Code First Migrations--EF 的数据迁移
1. 为了演示方便,首先新建一个控制台项目,然后添加对entityframework的引用 使用nuget控制台执行: Install-Package EntityFramework 2.新建一个实体 ...
- Linux应用程序基础
文件位置: 系统命令:/bin和sbin目录,或shell内部指令: 应用程序:/usr/bin和/usr/sbin目录. /usr/bin:普通执行程序文件: ...
- 以ZeroMQ谈消息中间件的设计【译文】
本文主要是探究学习比较流行的一款消息层是如何设计与实现的 ØMQ是一种消息传递系统,或者乐意的话可以称它为"面向消息的中间件".它在金融服务,游戏开发,嵌入式系统,学术研究和航空航 ...
- C# Session添加、删除封装类
/// <summary> /// <para> </para> /// 常用工具类——Session操作类 /// <para> ---------- ...
- JQuery中隐藏/显示事件函数
1.$("button").click(function(){ $("p").hide(); });2.如果您的网站包含许多页面,并且您希望您的 jQuery ...
- Android 防止多次点击事件
恐怕大家都会遇到这样的问题,一个点击事件多次触发,导致,同样的内容提交了多次,或者说弹出多个页面... 下面是简单的方案,大家可以试一试 原理很简单,当我们第一次点击的时候,把按钮变成不可点击状态. ...
- JavaScript基本知识
如何把 JavaScript 放入 HTML 页面 如果需要把一段 JavaScript 插入 HTML 页面,我们需要使用 <script> 标签(同时使用 type 属性来定义脚本语言 ...
- 在output 子句和 scope_identity() 混合使用的时候的注意事项
无意睹到一篇旧文档 SR0008:考虑使用 SCOPE_IDENTITY 代替 @@IDENTITY :https://msdn.microsoft.com/zh-cn/library/dd17212 ...
- Tomcat 服务应用
转自:http://wiki.jikexueyuan.com/project/tomcat/windows-service.html Tomcat8 是一个服务应用,能使 Tomcat 8 以 Win ...