nodejs入门二
来源:互联网 发布:怎么做好淘宝店铺 编辑:程序博客网 时间:2024/06/05 02:57
相关
- 官网:https://nodejs.org/en/
- API:https://nodejs.org/api/
- 慕课网:进击Node.js基础(一):http://www.imooc.com/learn/348
说点啥
上次提到了 api中的Url与Http 。 这次我们继续跟着视频来走,看一下事件Events
上期回顾总结
我们在看API的时候,发现有些方法里的参数是用’[]’包含起来的,包含起来的:非必要参数
eg:
emitter.removeAllListeners([event])
如果event存在,则移除event相关的监听,如果enent不存在,就是移除所有的监听(大家看了视频就懂了)
先来看一段上篇文章的代码:
http.get(url, function (res) { var html = '' res.on('data', function(data) { html += data }) res.on('end', function(){ filterChapters(html) })}).on('error', function() { console.log('获取网站数据出错!')})
当我看到这里的时候,我会问,data是啥啊?哪儿来的?
这就要追溯到这次文章的男主Event了。
API
- 对应api地址:https://nodejs.org/api/events.html
- 对应视频地址:http://www.imooc.com/video/8525/0
Events
Events Class: events.EventEmitter emitter.addListener(event, listener) emitter.on(event, listener) emitter.once(event, listener) emitter.removeListener(event, listener) emitter.removeAllListeners([event]) emitter.setMaxListeners(n) emitter.getMaxListeners() EventEmitter.defaultMaxListeners emitter.listeners(event) emitter.emit(event[, arg1][, arg2][, ...]) emitter.listenerCount(type) Class Method: EventEmitter.listenerCount(emitter, event) Event: 'newListener' Event: 'removeListener' Inheriting from 'EventEmitter'
PS:我总觉得api里的’,’和’[‘的位置反了。。。
emit
事件的触发,与on搭配使用
emitter.emit(event, [arg1], [arg2], [...])
参数
- event:事件名 —– ‘event’
- arg1:参数1 —— ‘参数1’
- ……
不多说,直接来看下一个方法,我们搭配使用
on
触发的响应,与emit搭配使用。相当于安卓中的setOn***Listener
emitter.on(event, listener)
参数
- event:事件名 —– ‘event’
- listener:触发响应的具体执行
emit搭配on
var EventEmitter = require('events').EventEmittervar life = new EventEmitter()// 定义一个函数function Hello(who){ console.log('hello ' + who)}life.on('welcome', function(who){ console.log('welcome ' + who)})life.on('hello', Hello)life.emit('welcome', 'Bigflower')life.emit('hello', 'Bigflower')
最后一句调用后,立即执行event==welcome的事件所对应的函数,很容易理解,看视频大家就懂了。
输出结果是:
welcome Bigflowerhello Bigflower
remove
即取消on中的Listener
removeListener
取消某个listener
life.removeListener('hello', Hello)
removeAllListener
取消一堆listener
life.removeAllListeners() // 取消所有的listenerlife.removeAllListeners('welcome') // 取消事件为welcome的所有listener
EventEmitter.listenerCount
获得某个事件event的listener数量
console.log(EventEmitter.listenerCount(life, 'welcome'))
setMaxListeners(n)
设置某个事件监听器的最大值,默认是10个(太多了可能会:内存泄漏(oh,从安卓跑到nodejs,还是离不开这玩意儿))
相关文章
nodejs入门(一)URL与HTTP http://www.flowerfat.com/2015/10/15/nodejs%E5%85%A5%E9%97%A8%E4%B8%801015/
nodejs入门(二)Events
http://www.flowerfat.com/2015/10/16/nodejs%E5%85%A5%E9%97%A8%E4%BA%8C1016/
0 0
- nodejs入门二
- 【Node】nodejs+express+mongodb入门实例(二)
- nodejs入门
- Nodejs入门
- NodeJS入门
- nodejs入门
- nodejs入门
- Nodejs入门
- nodejs入门
- NodeJS入门
- nodejs入门
- nodejs入门
- nodejs:入门
- nodejs入门
- nodejs入门
- nodejs入门
- NodeJs入门
- nodejs入门
- 一个Mathematica能解Maple不行的特殊积分
- List中的Contains
- RecyclerView的长按多选功能
- POI:上传EXCEL解析
- 面向对象--接口的实际应用
- nodejs入门二
- remoting与socket、web service的比较及实例
- hive的几个疑问点
- 包的基本概念
- thinkphp图片集合
- 处理 windows server 2008 r2 每隔一段时间自动关机笔记
- 四个代码块
- Hadoop2.3.0-CDH5.1.3的eclipse插件编译
- nodejs入门三