nodejs events】的更多相关文章

var EventEmitter = require('events').EventEmitter; var emitter = new EventEmitter(); console.log(emitter.getMaxListeners()); //设置可监听事件的最大个数 emitter.setMaxListeners(11); function work(who){ console.log(who + ' go to work') } //监听事件 emitter.on('do', wo…
EventEmitter类 events模块提供一个对象:events.EventEmitter,核心是事件触发和事件监听的封装. 大多数时候不会直接使用EventEmitter,而是在对象中继承它(new一个出来). 方法: on: 为指定事件注册一个监听器,接收一个字符串event和一个回调函数. emit: 触发事件.返回值为布尔值. once: 为指定事件注册一个单次监听器,最多只会触发一次,触发后立刻解除该监听器. addListener: 为指定事件添加一个监听器到监听器数组的尾部.…
1. Nodejs 的单线程 非阻塞 I/O 事件驱动在 Java. PHP 或者.net 等服务器端语言中,会为每一个客户端连接创建一个新的线程.而每个线程需要耗费大约 2MB 内存.也就是说,理论上,一个 8GB 内存的服务器可以同时连接的最大用户数为 4000 个左右.要让 Web 应用程序支持更多的用户,就需要增加服务器的数量,而 Web 应用程序的硬件成本当然就上升了.Node.js 不为每个客户连接创建一个新的线程, 而仅仅使用一个线程.当有用户连接了,就触发一个内部事件,通过非阻塞…
这篇随笔将会按序记录如下内容: NodeJs 简介 安装  NodeJs HTTP 模块.URL 模块 CommonJs 和 Nodejs 中自定义模块 NodeJs FS 模块 利用 HTTP 模块 URl 模块 PATH 模块 FS模块创建一个 WEB 服务器(基础实战) 关于Node.js的非阻塞IO,异步,事件驱动基础 cnpm淘宝镜像:npm install -g cnpm --registry=https://registry.npm.taobao.org 1.NodeJs简介 安装…
1.Nodejs 的单线程 非阻塞 I/O 事件驱动 在 Java.PHP 或者.net 等服务器端语言中,会为每一个客户端连接创建一个新的线程而每个线程需要耗费大约 2MB 内存.也就是说,理论上,一个 8GB 内存的服务器可以同连接的最大用户数为 4000 个左右.要让 Web 应用程序支持更多的用户,就需要增加服务的数量,而 Web 应用程序的硬件成本当然就上升了.Node.js 不为每个客户连接创建一个新的线程,而仅仅使用一个线程.当有用户连接了就触发一个内部事件,通过非阻塞 I/O.事…
var http = require('http'); var handlerRequest = function(req,res){ res.end('hello');}; var webServer = http.createServer(handlerRequest);webServer.listen(9090); console.log('webServer running on 9090..'); 以上代码在windows上运行没有错误,然后我把代码上传到centos虚拟机里,运行后报…
随着人们开始学习,我用nodejs过程中遇到如下列错误执行: events.js:72 throw er; // Unhandled 'error' event ^ Error: listen EADDRINUSE at errnoException (net.js:901:11) at Server._listen2 (net.js:1039:14) at listen (net.js:1061:10) at Server.listen (net.js:1127:5) at Object.<a…
前面的话 events模块是node的核心模块,几乎所有常用的node模块都继承了events模块,比如http.fs等.本文将详细介绍nodeJS中的事件机制 EventEmitter 多数 Node.js 核心 API 都是采用惯用的异步事件驱动架构,其中某些类型的对象(称为触发器)会周期性地触发命名事件来调用函数对象(监听器).例如,一个net.Server对象会在每次有新连接时触发一个事件:一个 fs.ReadStream 会在文件被打开时触发一个事件:一个 stream会在数据可读时触…
这一节内容超级简单,纯JS,就当给自己放个假了,V8引擎和node的C++代码看得有点脑阔疼. 学过DOM的应该都知道一个API,叫addeventlistener,即事件绑定.这个东西贯穿了整个JS的学习过程,无论是刚开始的自己获取DOM手动绑,还是后期vue的直接@click,所有的交互都离不开这个东西. 同样,在node中,事件绑定也贯穿了整个框架.基本上大多数的内置模块以events为原型,下面的代码随处可见: EventEmitter.call(this); 不同的是,页面上DOM的事…
<pre>events.js:72 throw er; // Unhandled 'error' event ^ Error: listen EADDRINUSE at errnoException (net.js:901:11) at Server._listen2 (net.js:1039:14) at listen (net.js:1061:10) at Server.listen (net.js:1127:5) at Object.<anonymous> (./server…