node.js中的events.emitter.once方法使用说明

方法说明:

为指定事件注册一个 单次 监听器,所以监听器至多只会触发一次,触发后立即解除该监听器。

语法:

复制代码 代码如下:

emitter.once(event, listener)

接收参数:

event            (string)             事件类型

listener         (function)         触发事件时的回调函数

例子:

复制代码 代码如下:

server.once('connection', function (stream) {
  console.log('Ah, we have our first user!');
});

源码:

复制代码 代码如下:

EventEmitter.prototype.once = function(type, listener) {
  if (!util.isFunction(listener))
    throw TypeError('listener must be a function');
  function g() {
    this.removeListener(type, g);
    listener.apply(this, arguments);
  }
  g.listener = listener;
  this.on(type, g);
  return this;
};

时间: 2014-12-07

node.js学习之事件模块Events的使用示例

前言 本文主要给大家介绍了关于node.js事件模块Events使用的一些示例,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 环境:Node v8.2.1; Npm v5.3.0; OS Windows10 1. Node事件介绍 Node大多数核心 API 都采用惯用的异步事件驱动架构,其中某些类型的对象(触发器)会周期性地触发命名事件来调用函数对象(监听器). 所有能触发事件的对象都是 EventEmitter 类的实例. 这些对象开放了一个 eventEmitter.o

node.js中的events.emitter.listeners方法使用说明

方法说明: 注册了指定event的所有监听器将被作为数组返回. 语法: 复制代码 代码如下: emitter.listeners(event) 接收参数: event    指定事件 例子: 复制代码 代码如下: server.on('connection', function (stream) {   console.log('someone connected!'); }); console.log(util.inspect(server.listeners('connection')));

node.js中的events.emitter.removeListener方法使用说明

方法说明: 移除指定事件的某个监听器. 语法: 复制代码 代码如下: emitter.removeListener(event, listener) 接收参数: event            (string)             事件类型 listener         (function)        已注册过的监听器 例子: 复制代码 代码如下: var callback = function(stream) {   console.log('someone connected!

node.js中的events.EventEmitter.listenerCount方法使用说明

方法说明: 返回注册了指定事件的监听器数量. 语法: 复制代码 代码如下: EventEmitter.listenerCount(emitter, event) 接收参数: emitter             事件发射器 event                事件 例子: 复制代码 代码如下: if(events.EventEmitter.listenerCount(this, 'feedback') == 0) {     //.... } 源码: 复制代码 代码如下: EventEm

node.js中的events.emitter.removeAllListeners方法使用说明

方法说明: 移除所有监听器,如果指定event,则将移除指定事件的所有监听器. 语法: 复制代码 代码如下: emitter.removeAllListeners([event]) 接收参数: event         事件类型,支持多个 例子: 复制代码 代码如下: //移除所有监听器   emitter.removeAllListeners()   //移除指定event的所有监听器   emitter.removeAllListeners('data') 源码: 复制代码 代码如下: E

详解Node.js:events事件模块

Nodejs的大部分核心API都是基于异步事件驱动设计的,所有可以分发事件的对象都是EventEmitter类的实例. 大家知道,由于nodejs是单线程运行的,所以nodejs需要借助事件轮询,不断去查询事件队列中的事件消息,然后执行该事件对应的回调函数,有点类似windows的消息映射机制.至于更细的实现环节,可以另行查找资料. 下面介绍EventEmitter的使用. 1.监听事件和分发事件 EventEmitter实例可以使用on或addListener监听事件,emit()方法分发事件

关于Node.js的events.EventEmitter用法介绍

Node.js 所有的异步 I/O 操作在完成时都会发送一个事件到事件队列. Node.js里面的许多对象都会分发事件:一个net.Server对象会在每次有新连接时分发一个事件, 一个fs.readStream对象会在文件被打开的时候发出一个事件. 所有这些产生事件的对象都是 events.EventEmitter 的实例. EventEmitter 类 events 模块只提供了一个对象: events.EventEmitter.EventEmitter 的核心就是事件触发与事件监听器功能的

Node.js EventEmmitter事件监听器用法实例分析

本文实例讲述了Node.js EventEmmitter事件监听器用法.分享给大家供大家参考,具体如下: Node.js 所有的异步 I/O 操作在完成时都会发送一个事件到事件队列. events 模块只提供了一个对象: events.EventEmitter.EventEmitter 的核心就是事件触发与事件监听器功能的封装. 该模块已被node.js默认引,不需要使用require()显示引入. EventEmitter 对象如果在实例化时发生错误,会触发 'error' 事件.当添加新的监

Node.js console控制台简单用法分析

本文实例讲述了Node.js console控制台简单用法.分享给大家供大家参考,具体如下: 在Node.js官方文档 https://nodejs.org/api/console.html 中描述了控制台的所有API方法. Class: Console  - new Console(stdout[, stderr])  - console.assert(value[, message][, ...])  - console.dir(obj[, options])  - console.erro

Node.js操作系统OS模块用法分析

本文实例讲述了Node.js操作系统OS模块用法.分享给大家供大家参考,具体如下: Node.js os 模块提供了一些基本的系统操作函数.可以通过以下方式引入该模块(不过最新版本的node.js已经默认引入了该模块了): var os = require("os"); hostname() 返回操作系统的默认临时文件夹. loadavg() 返回一个包含 1.5.15 分钟平均负载的数组. uptime() 返回操作系统运行的时间,以秒为单位. freemem() 返回操作系统空闲内

Node.js中 __dirname 的使用介绍

前言 本文主要给大家介绍的是关于Node.js中 __dirname 使用的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 方法如下 新建个文件 app.js 里面的内容如下: console.log(__dirname + '/example.db'); console.log('example.db'); 如果将app.js放在一个根目录下面 执行node app.js 分别输出如下内容: /Users/durban/nodejs/koa-mysql-orm-model/exa

Node.js开源应用框架HapiJS介绍

一.HapiJS介绍 HapiJS是一个开源的.基于Node.js的应用框架,它适用于构建应用程序和服务,其设计目标是让开发者把精力集中于开发可重用的应用程序的业务逻辑,向开发者提供构建应用程序业务逻辑所需的基础设施.HapiJS目前的最新版本为7.2.0版. 二.HapiJS安装和项目配置 1.安装Hapi库 HapiJS的安装很简单,执行如下命令: 复制代码 代码如下: $ sudo npm install hapi -g hapi@7.2.0 /usr/local/lib/node_mod

node.js中的console用法总结

复制代码 代码如下: //建立app.js页面 // 一:页面代码 console.log("log信息"); //在页面中执行(node app.js)这个文件会在控制台中看到log信息:"log信息" //换个方式执行:node app.js 1>info.txt(1代表重定向标准输出流); //这个时候会在app.js的同级目录下看到一个info.txt文件,里面还有"log信息". //二:依次序输出所有字符串 console.lo

Node.js 异步编程之 Callback介绍(一)

Node.js 基于 JavaScript 引擎 v8,是单线程的.Node.js 采用了与通常 Web 上的 JavaScript 异步编程的方式来处理会造成阻塞的I/O操作.在 Node.js 中读取文件.访问数据库.网络请求等等都有可能是异步的.对于 Node.js 新人或者从其他语言背景迁移到 Node.js 上的开发者来说,异步编程是比较痛苦的一部分.本章将由浅入深为大家讲解 Node.js 异步编程的方方面面.从最基础的 callback 到 thunk.Promise.co 直到

Node.js和Express简单入门介绍

仅仅入门如何用Node.js和Express搭建一个web服务器,没有说明太多概念性的东西. 一. Nodejs简介 ​ ==Node是JavaScript语言的服务器运行环境.== ​ 所谓"运行环境"有两层意思:首先,JavaScript语言通过Node在服务器运行,在这个意义上,Node有点像JavaScript虚拟机:其次,Node提供大量工具库,使得JavaScript语言与操作系统互动(比如读写文件.新建子进程),在这个意义上,Node又是JavaScript的工具库. ​