首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Node.js中的Event模块详解

Events是node.js 最重要的模块,它提供了一个对象events.EventEmitter,EventEmitter 的核心是事件发射与事件监听器。...Node.js中大部分的模块,都继承自Event模块。 EventEmitter 支持若干个事件监听器,当事件发射时,注册到这个事件的事件监听器被依次调用,事件参数作为回调函数参数传递。...事件模块相关的方法主要有以下这些: 1. EventEmitter.on(event, listener) 注册监听事件。...参数1:event 事件名; 参数2:listener 回调函数; // 调用events模块,获取events.EventEmitter对象 var EventEmitter = require(...参数1:event 事件名; 参数2:[arg1] 可选参数,按顺序传入回调函数的参数; 返回值:该事件是否有监听; // 调用events模块,获取events.EventEmitter对象 var

1.5K10
您找到你想要的搜索结果了吗?
是的
没有找到

读Zepto源码之Event模块

Event 模块是 Zepto 必备的模块之一,由于对 Event Api 不太熟,Event 对象也比较复杂,所以乍一看 Event 模块的源码,有点懵,细看下去,其实也不太复杂。...Event 模块的核心 将 Event 模块简化后如下: ;(function($){})(Zepto) 其实就是向闭包中传入 Zepto 对象,然后对 Zepto 对象做一些扩展。...在 Event 模块中,主要做了如下几件事: 提供简洁的API 统一不同浏览器的 event 对象 事件句柄缓存池,方便手动触发事件和解绑事件。...add,Event 模块的核心方法 function add(element, events, fn, data, selector, delegator, capture){ var id = zid...Zepto源码分析-event模块 zepto源码之event.js 说说focus /focusin /focusout /blur 事件 MDN:mouseenter MDN:mouseleave

1.4K00

Node 中的Event模块详解

Node.js中大部分的模块,都继承自Event模块。 EventEmitter 支持若干个事件监听器,当事件发射时,注册到这个事件的事件监听器被依次调用,事件参数作为回调函数参数传递。...事件模块相关的方法主要有以下这些: 1. EventEmitter.on(event, listener) 注册监听事件。...参数1:event  事件名; 参数2:listener 回调函数; // 调用events模块,获取events.EventEmitter对象 var EventEmitter = require(...参数1:event  事件名; 参数2:[arg1] 可选参数,按顺序传入回调函数的参数; 返回值:该事件是否有监听; // 调用events模块,获取events.EventEmitter对象 var...参数1:event  事件名; 参数2:listener 回调函数; // 调用events模块,获取events.EventEmitter对象 var EventEmitter = require(

42241

Node.js Event Loop 处理的几大周期介绍

Node.js Event Loop 处理的几大周期如下图所示: Timer:通过 setTimeout() 或 setInterval() 安排的一切都将在这里处理。...由于 Node.js 中的所有用户态代码基本上都在回调中(例如,对传入 http 请求的回调会触发级联回调),这就是用户态代码。 IO轮询:轮询下一次运行要处理的新事件。...Event Loop Latency 事件循环延迟衡量在使用 setTimeout(X) 安排的任务真正得到处理之前还需要多长时间。 高事件循环延迟表示事件循环忙于处理回调。...Node.js 应用程序在单个线程上运行。 在多核机器上,这意味着负载不会分布在所有内核上。 使用 Node 附带的集群模块,可以很容易地为每个 CPU 生成一个子进程。

76250

通过 Inspector 收集 Node.js 的 trace event 数据

前言:Node.js 提供了 trace event 的机制,在 Node.js 内核代码里,静态地埋了一些点,比如同步文件 IO 耗时,DNS 解析耗时等。...每次执行这些代码时,Node.js 就会执行这些点的钩子,从而收集相应的数据。不过这个能力默认是关闭的,毕竟对性能会产生影响。我们可以通过 trace_events 模块打开这个功能。...trace_events 模块会源源不断地把数据写到一个到多个文件中。...除了通过 trace_events 模块之外,Node.js 也实现了通过 Inspector 协议收集 trace event 数据,本文介绍基于 inspector 协议收集 trace event...所以第一步首先设置需要收集的模块类型,也可以通过 NodeTracing.getCategories 命令获取当前支持的模块类型。

66310

Node.js模块系统(下)

Node.js 中自带了一个叫做 http 的模块,我们在我们的代码中请求它并把返回值赋给一个本地变量。 这把我们的本地变量变成了一个拥有所有 http 模块所提供的公共方法的对象。...Node.js 的 require 方法中的文件查找策略如下: 由于 Node.js 中存在 4 类模块(原生模块和3种文件模块),尽管 require 方法极其简单,但是内部的加载却是十分复杂的,其加载优先级也各自不同...如下图所示: 从文件模块缓存中加载 尽管原生模块与文件模块的优先级不同,但是都会优先从文件模块的缓存中加载已经存在的模块。 从原生模块加载 原生模块的优先级仅次于文件模块缓存的优先级。...从文件加载 当文件模块缓存中不存在,而且不是原生模块的时候,Node.js 会解析 require 方法传入的参数,并从文件系统中加载实际的文件,加载过程中的包装和编译细节在前一节中已经介绍过,这里我们将详细描述查找文件模块的过程...mod,非原生模块的文件模块。 在路径 Y 下执行 require(X) 语句执行顺序: 1. 如果 X 是内置模块 a. 返回内置模块 b. 停止执行 2.

88630

Node.js模块系统(上)

为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统。 模块Node.js 应用程序的基本组成部分,文件和模块是一一对应的。...换言之,一个 Node.js 文件就是一个模块,这个文件可能是JavaScript 代码、JSON 或者编译过的C/C++ 扩展。...引入模块Node.js 中,引入一个模块非常简单,如下我们创建一个 main.js 文件并引入 hello 模块,代码如下: var hello = require('..../hello') 引入了当前目录下的 hello.js 文件(./ 为当前目录,node.js 默认后缀为 js)。...Node.js 提供了 exports 和 require 两个对象,其中 exports 是模块公开的接口,require 用于从外部获取一个模块的接口,即所获取模块的 exports 对象。

89420

node.js模块的坑

在写一个工具的时候,需要将xml转为json方便处理,以前电脑上装的node.js的版本为0.8,结果我再安装node-xml2json时提示版本过低,然后我又重装安装了最新版本。...然后再次尝试安装,首先报python版本不对,不支持3.0,然后再降级,再然后说windows系统需要先安装node-expat,装这个模块又需要先装node-gyp,好吧然后我一直安装失败… ?...最后我使用了这个模块: node-xml2json   根据thomasfrank大师写的 XML to JSON 改造的,唯一要注意的是如果xml中的节点属性有大写,转换之后全部成小写了。...的值 var val = crc.crc32(fs.readFileSync("xx.zip", null)).toString(10); console.log(val); 工具写完了,使用了几个模块...,觉得这几个模块都还很不错,有需要的同学可以自取:) 1、node-ftp 操作ftp,上传、下载文件。

1.6K20
领券