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

  • 相关阅读:
    数据库 连接(join)
    Linux top
    Game2048
    黑豆白豆问题
    1000个苹果10箱
    Jconsole
    八数码 Java实现
    两数之和
    磁盘调度算法
    常见应用网络层次
  • 原文地址:https://www.cnblogs.com/fengxiang/p/3603589.html
Copyright © 2011-2022 走看看