常用事件

/*调用events模块,获取events.EventEmitter对象
*/
var EventEmitter = require('events').EventEmitter;
var events = new EventEmitter();/*EventEmitter.on(event, listener) 为事件注册一个监听参数1:event  字符串,事件名参数2:回调函数
*/
events.on('some_events', function(foo, bar) {console.log("第1个监听事件,参数foo=" + foo + ",bar="+bar );
});console.log('第一轮');
events.emit('some_events', 'Wilson', 'Zhong');   //  返回trueconsole.log('第二轮');
events.emit('some_events', 'Wilson', 'Z');events.on('whatName',function(name){console.log('My name is '+name);
});
events.emit('whatName','finder');

其它事件emitter.addListener(event, listener)
emitter.on(event, listener)
emitter.once(event, listener)
emitter.removeListener(event, listener)
emitter.removeAllListeners([event])
emitter.setMaxListeners(n)
EventEmitter.defaultMaxListeners
emitter.listeners(event)
emitter.emit(event[, arg1][, arg2][, ...])
Class Method: EventEmitter.listenerCount(emitter, event)

特殊的事件Error引用自Node.js开发指南:EventEmitter 定义了一个特殊的事件 error,它包含了“错误”的语义,我们在遇到 异常的时候通常会发射 error 事件。当 error 被发射时,EventEmitter 规定如果没有响 应的监听器,Node.js 会把它当作异常,退出程序并打印调用栈。我们一般要为会发射 error 事件的对象设置监听器,避免遇到错误后整个程序崩溃事件的继承
var util = require("util");
var events = require("events");function MyStream() {events.EventEmitter.call(this);
}util.inherits(MyStream, events.EventEmitter);MyStream.prototype.write = function(data) {this.emit("data", data);
}var stream = new MyStream();console.log(stream instanceof events.EventEmitter); // true
console.log(MyStream.super_ === events.EventEmitter); // true

stream.on("data", function(data) {console.log('Received data: "' + data + '"');
})
stream.write("It works!"); // Received data: "It works!"

转载于:https://www.cnblogs.com/liubei/p/nodejs_2.html

nodejs笔记--Events篇(二)相关推荐

  1. 2022黑马Redis跟学笔记.实战篇(二)

    2022黑马Redis跟学笔记.实战篇 二 实战篇Redis 开篇导读 4.1短信登录 4.1.1. 搭建黑马点评项目 一.导入黑马点评项目 二.导入SQL 三.有关当前模型 四.导入后端项目 相关依 ...

  2. 谷粒商城-个人笔记(高级篇二)

    目录 二.商城业务-首页 1.整合thymeleaf渲染首页 1).在"gulimall-product"项目中导入前端代码: 2).渲染一级分类数据&&整合dev ...

  3. PostCSS自学笔记(二)【番外篇二】

    图解PostCSS的插件执行顺序 文章其实是一系列的早就写完了. 才发现忘了发在SegmentFault上面, 最早发布于https://gitee.com/janking/Inf... 这次我继续研 ...

  4. NodeJS笔记二---kalrry

    NodeJS笔记二---kalrry NodeJS 服务器 什么是服务器 web服务端保存的资源: web服务器(软件)的作用: nodeJS 介绍 目标 优势 劣势 特点: 环境安装 版本 运行 w ...

  5. 《深入浅出WPF》笔记——事件篇

    如果对事件一点都不了解或者是模棱两可的话,建议先去看张子阳的委托与事件的文章(比较长,或许看完了,也忘记看这一篇了,没事,我会原谅你的)http://www.cnblogs.com/JimmyZhan ...

  6. 《深入浅出WPF》笔记——绑定篇(一)

    上一节,有记录写到:在WPF里,数据驱动UI,数据占核心地位,UI次之.怎么恢复数据的核心地位,那就要先了解一下Binding. 一.Binding 基础 1.1WPF中Data Binding的带来 ...

  7. 一篇文章带你熟悉 TCP/IP 协议(网络协议篇二)

    涤生_Woo 2017年11月11日阅读 15544 关注 一篇文章带你熟悉 TCP/IP 协议(网络协议篇二) 同样的,本文篇幅也比较长,先来一张思维导图,带大家过一遍. 一图看完本文 一. 计算机 ...

  8. Kinect开发学习笔记之(二)Kinect开发学习资源整理

    Kinect开发学习笔记之(二)Kinect开发学习资源整理 zouxy09@qq.com http://blog.csdn.net/zouxy09 刚刚接触Kinect,在网上狂搜资料,获得了很多有 ...

  9. 小猪猪C++笔记基础篇(四)数组、指针、vector、迭代器

    小猪猪C++笔记基础篇(四) 关键词:数组,Vector. 一.数组与指针 数组相信大家学过C语言或者其他的语言都不陌生,简单的就是同一个变量类型的一组数据.例如:int a[10],意思就是从a开始 ...

最新文章

  1. 全文翻译(一):TVM: An Automated End-to-End Optimizing Compiler for Deep Learning
  2. 前端知识点回顾之重点篇——JavaScript异步机制
  3. python有道词典-利用Python3和Charles爬取有道词典
  4. 生成4位验证码(后台)
  5. 【51单片机快速入门指南】4.4.3:Madgwick AHRS 九轴姿态融合获取四元数、欧拉角
  6. 关于tag,viewWithTag
  7. 【转载】快速、可伸缩和流式的AJAX代理--跨域持续内容分发
  8. 真会省钱!苹果iPhone SE3首拆:电池、内存容量揭晓、基带属实缩水
  9. MangataのACM模板
  10. Node.js 下载安装教程
  11. vcpkg:If you are sure you want to rebuild the above packages, run the command with the --recurse opt
  12. 掉头发厉害,是为什么呢?
  13. 403 Forbidden nginx/1.6.2
  14. 工业大数据收集及预测建模方法(南京大学-宋哲博士分享)- 个人总结
  15. CMD命令行高级教程精选合编合集 转
  16. matlab植物叶面积,植物叶面积测量方法综述
  17. 蚂蚁金服mPaaS 3.0发布 助力客户智能化构建超级App生态
  18. 求求大佬救救孩子吧。按照书上敲的python爬取百度网盘权利的游戏案例,结果报错,其他都不报错,生成的txt文件也没有内容
  19. 研究生如何发表论文必读
  20. 规模化生物学:我们为何最终能跨过技术成熟度曲线?

热门文章

  1. hive hsql 漏斗模型_数据分析之SQL:常用模型
  2. jave导出mysql_java导出mysql数据到excel(poi)
  3. mysql join 条件_MySQL Join 竟然可以这么玩?根据条件 进行复制
  4. 橱柜高度与身高对照表_170身高和橱柜高度对照表 详细解析
  5. python的集合类型_python集合类型
  6. android 手机固定mac地址吗,Android手机获取Mac地址的几种方法
  7. es的doc_value对排序字段的作用
  8. bootlogo画面制作和替换
  9. VB:将短文件名格式转成长文件名
  10. 普惠AI,将是开发者下一个风口吗?看看他们怎么说