Nodejs事件模块小实例

挺直观的小example吧,放到文件里node一下,还是蛮有意思

/**
 * Created by Amy on 2017/7/13.
 */
var EventEmitter=require(‘events‘).EventEmitter
var life=new EventEmitter()
life.setMaxListeners(4)//系统默认最多不要超过十个,防止事件泄露
//addEventListener
function water(who){
    console.log(‘给‘+who+‘倒水‘)
}
life.on(‘求安慰‘,function(who)
)
life.on(‘求安慰‘,function(who){
    console.log(‘给‘+who+‘做饭‘)
})
life.on(‘求安慰‘,function(who){
    console.log(‘给‘+who+‘洗衣服‘)
})
life.on(‘求溺爱‘,function(who){
    console.log(‘给‘+who+‘买衣服‘)
})

//life.removeListener(‘求安慰‘,water)  //移除监听事件
//life.removeAllListener(‘求安慰‘)//妹子不开心了,要求全部移除
var hasConfortListener=life.emit(‘求安慰‘,‘汉子‘)
var hasLovedListener=life.emit(‘求溺爱‘,‘妹子‘)

console.log(life.listeners(‘求安慰‘).length)
console.log(life.listeners(‘求溺爱‘).length)
console.log(EventEmitter.listenerCount(life,‘求安慰‘))//这两个都可以打印出监听事件数目

console.log(hasConfortListener)
console.log(hasLovedListener)

  

时间: 2025-01-15 08:39:19

Nodejs事件模块小实例的相关文章

nodejs -- event 模块, 事件模块.

1. 注册事件 on 或者 addListener,触发事件 emit 1-1简单的使用: 1 var EventEmitter = require('events').EventEmitter; 2 3 var life = new EventEmitter(); 4 5 //求安慰: 6 7 8 function water(who){ 9 console.log('给 ' +who+ ' 倒水'); 10 } 11 //具名函数 12 life.addListener('求安慰', wat

node--http小爬虫&事件模块

//http小爬虫 var http=require('http') var cheerio=require('cheerio') var url='http://www.imooc.com/learn/348' function filter(html){ var $=cheerio.load(html); var chapters=$('.mod-chapters') var courseData=[] chapters.each(function(item){ var chapter=$(

什么是nodejs?nodejs的作用?创建第一个小实例

以下只是本人的理解如果错误请纠正: 1.nodejs:node是一个平台,是服务器端JavaScript的解析器,nodejs本身运行Google V8 JavaScript引擎,所以速度和性能非常好 2.nodejs旨在解决创建高性能的网络应用程序,可以编写每秒处理上万条同时访问物理机器的连接代码,并且可处理高并发和异步I/O node小实例:创建自己的第一个小实例,我用的是webstorm开发工具 1.编写代码:步骤 (1).引入http模块:require('http') (2).创建ht

nodejs的模块系统(实例分析exprots和module.exprots)

前言:工欲善其事,必先利其器.模块系统是nodejs组织管理代码的利器也是调用第三方代码的途径,本文将详细讲解nodejs的模块系统.在文章最后实例分析一下exprots和module.exprots. nodejs的模块 什么是模块? node.js通过实现CommonJS的Modules/1.0标准引入了模块(module)概念,模块是Node.js的基本组成部分.一个node.js文件就是一个模块,也就是说文件和模块是一一对应的关系.这个文件可以是JavaScript代码,JSON或者编译

图形化编程娱乐于教,Kittenblock实例事件模块,激活条件

跟很多学生聊过,很多学生不是不努力,只是找不到感觉.有一点不可否认,同样在一个教室上课,同样是一个老师讲授,学习效果迥然不同.关键的问题在于,带入感,我能给出的建议,就是咬咬牙,坚持住,没有学不会的知识.会陆续分享图形化编程的经验,希望能够做成一个专题.如果您觉得有用,就给点个赞吧.涉及的软件包括scratch3.0 (.sb3).Python.Kittenblock. 程序解读:事件模块,激活条件 知识点:事件模块,声音,外观,运动,循环控制 涉及的软件:scratch3.0 (.sb3).P

Nodejs核心模块

全局对象 Nodejs中全局对象是 global(作为全局变量的宿主),所有全局变量都是global对象的属性,在Nodejs中能够直接访问到的对象通常都是global的属性,如 console,process等. 在最外层定义的变量 全局对象的属性: 隐式定义的变量(未定义直接赋值的变量) 当定义一个全局变量时,这个变量同时也会成为全局对象的属性. 注意:永远使用var定义变量,以避免引入全局变量,因为全局变量会污染命名空间,提高代码耦合的风险. 1.1.process process.arg

nodejs 事件机制

node 事件机制 一 三种定时器 NodeJS中有三种类型的定时器:超时时间.时间间隔.即时定时器 1.超时时间:setTimeout(callback,delayMilliSeconds,[args])方法,如: setTimeout(myFunc,1000); setTimeout函数返回一个定时器对象的ID,可以在delayMilliSeconds到期前的任何时候把此ID传递给clearTimeOut()来取消时间函数. var myTimeout=setTimeout(myFunc,1

nodejs事件的监听与事件的触发

nodejs事件(Events) 一.事件机制的实现 Node.js中大部分的模块,都继承自Event模块(http://nodejs.org/docs/latest/api/events.html ).Event模块(events.EventEmitter)是一个简单的事件监听器模式的实现.具有addListener/on,once,removeListener,removeAllListeners,emit等基本的事件监听模式的方法实现.它与前端DOM树上的事件并不相同,因为它不存在冒泡,逐

EventEmitter:nodeJs事件触发机制

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