世界上最伟大的投资就是投资自己的教育
https://nodejs.org/dist/latest-v9.x/docs/api/events.html
var events = require('events');
var util = require('util');
var Person = function(name) {
this.name = name
}
util.inherits(Person, events.EventEmitter);
var xiaoming = new Person('xiaoming');
var lili = new Person('lili');
var lucy = new Person('lucy');
var person = [xiaoming, lili, lucy];
person.forEach(function(person) {
person.on('speak', function(message) {
console.log(person.name + " said: " + message);
})
})
xiaoming.emit('speak', 'hi');
lucy.emit('speak', 'I want a curry');
// var myEmitter = new events.EventEmitter();
// myEmitter.on('someEvent', function(message) {
// console.log(message);
// })
// myEmitter.emit('someEvent', 'the event was emitted');
09:071Free轻松学 Node.js - 基础篇免费视频教程 #1 课程介绍与开发环境搭建
05:252Free轻松学 Node.js - 基础篇免费视频教程 #2 全局对象
03:113Free轻松学 Node.js - 基础篇免费视频教程 #3 回调函数
05:454Free轻松学 Node.js - 基础篇免费视频教程 #4 模块
07:00Free轻松学 Node.js - 基础篇免费视频教程 #5 事件
07:176Free轻松学 Node.js - 基础篇免费视频教程 #6 读写文件(同步,异步)
04:037Free轻松学 Node.js - 基础篇免费视频教程 #7 创建和删除目录
10:298Free轻松学 Node.js - 基础篇免费视频教程 #8 流和管道
05:329Free轻松学 Node.js - 基础篇免费视频教程 #9 web 服务器 part 1 介绍
03:4410Free轻松学 Node.js - 基础篇免费视频教程 #10 web 服务器 part 2 响应 JSON
03:4711Free轻松学 Node.js - 基础篇免费视频教程 #11 web 服务器 part 3 响应 HTML 页面
01:5312Free轻松学 Node.js - 基础篇免费视频教程 #12 web 服务器 part 4 用模块化思想组织代码
05:3713Free轻松学 Node.js - 基础篇免费视频教程 #13 web 服务器 part 5 路由
09:4214Free轻松学 Node.js - 基础篇免费视频教程 #14 web 服务器 part 6 重构路由代码
09:3815Free轻松学 Node.js - 基础篇免费视频教程 #15 web 服务器 part 7 使用 GET 或 POST 请求发送数据
05:2216Free轻松学 Node.js - 基础篇免费视频教程 #16 包管理器 NPM
04:4117Free轻松学 Node.js - 基础篇免费视频教程 #17 package.json 文件
02:3618Free轻松学 Node.js - 基础篇免费视频教程 #18 nodemon (完结)
▬▬▬▬▬▬ 联系我 👋 ▬▬▬▬▬▬
知乎:https://www.zhihu.com/people/rails365
掘金:https://juejin.cn/user/1574156379888263
b 站:https://space.bilibili.com/31152817
Github:https://github.com/hfpp2012
Youtube:https://www.youtube.com/channel/UCA-Jkgr40A9kl5vsIqg-BIg
Discord:https://discord.gg/5rdjnEnU7F
Twitter:https://twitter.com/qiuzhi99pro
Facebook:https://twitter.com/qiuzhi99pro
Instagram:https://www.facebook.com/pro.qiuzhi/
▬▬▬▬▬▬ 微信相关 👋 ▬▬▬▬▬▬




© 汕尾市求知科技有限公司 | 专业版网站 | 在线学员:1136
粤公网安备 44152102000088号
| 粤ICP备19038915号
最好用 ES6 哈哈哈
实践课会用 es6
let events = require('events');
let utils = require('util');
// let myEmitter = new events.EventEmitter();
// myEmitter.on('connected',(message)=>{
// console.log(message);
// })
//按监听器的注册顺序,同步地调用每个注册到名为 eventName 事件的监听器,并传入提供的参数。
// myEmitter.emit('connected','你好世界')
class Person extends events.EventEmitter {
constructor(name){
super();
this.name = name;
}
}
let lily = new Person('Lily');
let lucy = new Person('Lucy');
let peoples = [lily, lucy];
peoples.forEach(people => {
people.on('say',(message)=>{
console.log(message,this);
})
});
lily.emit('say','你好啊,世界');
lucy.emit('say','欢迎,大千世界')
const EventEmitter = require('events');
class MyEmitter extends EventEmitter {}
const fun1= new MyEmitter();
const fun2= new MyEmitter();
const fun3= new MyEmitter();
let arr = [fun1,fun2,fun3];
arr.forEach((item)=>{
item.on('event', msg => {
console.log(msg);
});
})
fun1.emit('event','fun1');
fun2.emit('event','fun2');
fun3.emit('event','fun3');
这章我基本上看得一头雾水~
讲的很棒
const EventEmitter = require('events');
class Person extends EventEmitter {
constructor(name) {
super();
this.name = name;
}
}
let xiaoming = new Person('xiaoming');
let lili = new Person('lili');
let lucy = new Person('lucy');
let person = [xiaoming, lili, lucy];
person.forEach(function(person) {
person.on('speak', function(message) {
console.log(person.name + "say" + message);
})
});
xiaoming.emit('speak', 'hi');
var events = require('events');
// util 是一个 node 核心工具库,包含很多功能
var util = require('util');
var Person = function(name) { // 定义一个 Person 类
this.name = name
}
// Person 继承于 events.EventEmitter
util.inherits(Person, events.EventEmitter);
// 新建三个对象
var xiaoming = new Person('xiaoming');
var lili = new Person('lili');
var lucy = new Person('lucy');
var person = [xiaoming, lili, lucy];
person.forEach(function(person) {
// 给每个人绑定一个事件
person.on('speak', function(message) {
console.log(person.name + " said: " + message);
})
})
// 触发事件:
xiaoming.emit('speak', 'hi');
lucy.emit('speak', 'I want a curry');
结果:
代码运行自动触发事件
zhangsan hi hi
lisi hi hi
采用的是 Es6 的语法形式 zhangsan
采用的是 Es6 的语法形式 zhangsan