美文网首页技术干货
node.js学习之eventEmitter使用

node.js学习之eventEmitter使用

作者: 邪人君子 | 来源:发表于2017-12-26 11:41 被阅读318次

    在我们创建 Node.js 第一个 "Hello, World!" 应用前,让我们先了解下 Node.js 应用是由哪几部分组成的:

    1.引入 required 模块:我们可以使用 require 指令来载入 Node.js 模块。
    
    2.创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。
    
    3.接收请求与响应请求: 服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。
    

    笔记一:

    终端打印信息:console.log(' ... ');
    

    笔记二:

    package.json:位于模块的目录下,用于定义包的属性。
    Package.json 属性说明:
            name - 包名。
            version - 包的版本号。
            description - 包的描述。
            homepage - 包的官网 url 。
            author - 包的作者姓名。
            contributors - 包的其他贡献者姓名。
            dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。
            repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。
            main - main 字段指定了程序的主入口文件
            require('moduleName') 就会加载这个文件。这个字段的默认值是模块根目录下面的 index.js。
            keywords - 关键字
    

    笔记三:

    var events = require('events');                        // 引入 events 模块
    var eventEmitter = new events.EventEmitter();          // 创建 eventEmitter 对象
    
    // 创建事件处理程序
    var connectHandler = function connected() {
          console.log('连接成功。');
                  eventEmitter.emit('data_received');      // 触发 data_received 事件
    }
    eventEmitter.on('connection', connectHandler);         // 绑定 connection 事件处理程序
    
    // 使用匿名函数绑定 data_received 事件
    eventEmitter.on('data_received', function(){
          console.log('数据接收成功。');
    });
    eventEmitter.emit('connection');                       // 触发 connection 事件
    console.log("程序执行完毕。");
    

    笔记四:

    执行顺序解释:
        触发事件的程序: eventEmitter.emit('connection');
        查询绑定的事件处理程序的方法: eventEmitter.on('connection', connectHandler);
        执行事件处理程序:
            var connectHandler = function connected() {
                console.log('连接成功。');
                eventEmitter.emit('data_received');     // 触发 data_received 事件
            }
    

    笔记五:

    //请求(require)Node.js 自带的 events 模块并创建 eventEmitter 对象
    const EventEmitter = require('events');
    
    //实例化 EventEmitter 类来绑定和监听事件
    class CountEmitter extends EventEmitter{}
    
    //自定义一个对象继承于EventEmitter,EventEmitter 的核心就是事件触发与事件执行。
    const SingleCountEmitter = new CountEmitter();
    

    笔记六:

    eventEmitter.addListene('A',B);
    // 绑定 A 事件,处理函数为 B, 目的是添加一个事件处理函数
    

    相关文章

      网友评论

        本文标题:node.js学习之eventEmitter使用

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