zoukankan      html  css  js  c++  java
  • Node.js中的事件

    var util = require("util"); //导入util模块
    var events = require("events"); //导入events模块
    module.exports = MyStream;
    
    function MyStream() {
        events.EventEmitter.call(this); //call方法使得MyStream对象继承了EventEmitter对象上的方法
    }
    util.inherits(MyStream, events.EventEmitter);   //使用inherits方法
    
    MyStream.prototype.write = function (data) {    //MyStream对象扩展了一个write方法,它可以使用emit触发事件
        this.emit("data", data);
    };
    
    var stream = new MyStream();    //构建一个stream对象
    
    console.log("stream instanceof events.EventEmitter: " + (stream instanceof events.EventEmitter)); //判断stream对象是不是EventEmitter对象的实例,这里为true
    console.log("MyStream.super_ === events.EventEmitter: " + (MyStream.super_ === events.EventEmitter)); //MyStream的父类是不是EventEmitter,这里为true
    
    stream.on("data", function (data) {
        console.log('Received data: "' + data + '"');
    });
    stream.write("It works1!");
    stream.write("It works2!");

    运行结果如下:

    image

    涉及模块:eventsutil

    核心函数:util.inherits

  • 相关阅读:
    NoInstall_Mysql
    说话
    我是一名博客新人
    pom.xml报错
    模板——链表模板、有序链表模板及测试
    模板——函数模板
    模板——类模板
    MDI程序演示
    容器和算法2 C++快速入门48(完)
    MDI程序演示
  • 原文地址:https://www.cnblogs.com/fengxiang/p/3603589.html
Copyright © 2011-2022 走看看