events,用于声明事件调用,无需打包
events1.js基本事件调用介绍
var events=require("events");//导events包
var eventsEmitter=new events.EventEmitter();//实例化events模块
/*demo1 events事件*/
eventsEmitter.addListener("haoge",function(){//自定义一个事件,事件的名字叫haoge,里面输出一句话
console.log("豪哥爱玲姐");
});
eventsEmitter.emit("haoge");//触发上面的事件
/*demo1 后台运行结果:豪哥爱玲姐*/
/*知识点*/
eventEmitter.setMaxListeners(10);//设置事件数量
console.log(eventEmitter.listenerCount("haoge"));//查看haoge绑定了多少个事件
eventsEmitter.addListener("haoge2",cn);//声明一个带参数的事件
function cn(a){//带参数的方法
console.log("test被调用"+a);
}
eventsEmitter.emit("haoge2",cn(200));//调用事件并传值
eventsEmitter.removeListener("haoge2",cn);//移除事件,后面带参值移除一个
// 可以eventEmitter.removeListener("OnJW")移除全部
events2choujiang.js 抽奖demo
var events = require("events");//导包
var eventEmitter = new events.EventEmitter();//实例化
/*抽奖demo*/
var ids=0;//声明变量用于计算次数和价格
var timer = setInterval(function () {//定时函数
var random = parseInt(Math.random() * 100);//获取一个随机数
ids++;//每次加一
if (random>=95){//判断条件大于95
console.log("奖金100,已抽"+ids+"次,已花费"+ids*10+"元");//提示中奖信息并输出信息
eventEmitter.emit("jieshu");//调用事件
}
});
eventEmitter.on("jieshu",function () {//自定义事件
clearInterval(timer);//结束方法
console.log("停止抽奖");
});
/*demo输出结果:奖金100,已抽59次,已花费590
停止抽奖
*/