美文网首页
2018-08-20第五天课

2018-08-20第五天课

作者: 无欲而为 | 来源:发表于2018-08-21 19:54 被阅读0次

    内置模块 => 直接使用 Node 提供好的核心模块

    Event 事件模块
    事件模块是整个 Node.js 的核心 Node.js 大部分模块都使用 或者继承了 事件模块
    类似于 WebAPI 中的 EventTarget
    (前端中的自定义事件)
    学习的是系统的知识系统的轮廓 , API只需要 看 文档就可以了.

    事件监听的实现过程 :

    1. 加载 事件模块 这个核心模块 ,extends Eventlistener
    2. super ()
    3. constructor () 里面写自定义函数的调用
    4. 自定义函数向外触发一个事件名称 this.emit('xxxx')
    5. 给构造函数的实例绑定一个事件监听 addListener () 函数 ,它接收2个参数,一个是事件名称 ,另外一个是 回调函数 ,写这个函数名称的具体代码 !
            const EventEmitter = require('events');
    
            class Person extends EventEmitter {
                constructor(name){
    
                    super();
    
                    this.name=name;
                    this.age=0;
    
                    this.growup()
                }
    
                growup(){
                    setInterval(() => {
                        this.age ++ ;
    
                        this.emit('growup')
                    },1000)
                }
            }
    
            const p1 = new Person('xiao s');
    
            p1.addListener("growup",function () {
                console.log('长大了一岁!!')
            });
    
            console.log(p1.eventNames());
    
            p1.setMaxListeners(1);
    
            p1.prependListener('growup',function () {
                console.log('长大了2岁~~')
            })
    
            //prependListener : 往前面注册 事件监听
    

    相关文章

      网友评论

          本文标题:2018-08-20第五天课

          本文链接:https://www.haomeiwen.com/subject/hcrdiftx.html