本文共 876 字,大约阅读时间需要 2 分钟。
上一篇的示例中事件都是基于events.EventEmitter的实例,其实我们也建立自己的events类,只要通过集成events.EventEmitter就可以轻松的实现事件监听。
events-inherit.js:
var events = require('events');var util = require('util');function Restaurant(name){ this.name = name; events.EventEmitter.call(this);}util.inherits(Restaurant, events.EventEmitter);//开一家餐馆var restaurant = new Restaurant('外婆家');//定义点菜事件restaurant.on('order', function(name, num) { console.log(num + "号桌,点菜:" + name );});//定义埋单事件restaurant.on('pay', function(num) { console.log(num + "号桌, 埋单");});//1号桌,点菜restaurant.emit('order', '红烧肉', 1);//2号桌,点菜restaurant.emit('order', '炒青菜', 2);//3号桌,点菜restaurant.emit('order', '土豆丝', 3);//1号桌,埋单restaurant.emit('pay', 1);//2号桌,埋单restaurant.emit('pay', 2);//1号桌,埋单restaurant.emit('pay', 3);
运行效果跟上一篇的示例一一模一样:
lee@mypc ~/works/nodejs/study8 $ node events-inherit.js1号桌,点菜:红烧肉2号桌,点菜:炒青菜3号桌,点菜:土豆丝1号桌, 埋单2号桌, 埋单3号桌, 埋单
转载地址:http://dxhba.baihongyu.com/