发布-订阅模式(自定义事件)01——node中-运行打印数据 & 发布订阅模式(vue、jquery和node中-自定义事件)
实例1
打开node官网,点击API文档,点击左侧Events,往下拉,出现如下代码
const EventEmitter = require('events');
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
myEmitter.on('event', () => {
console.log('an event occurred!');
});
myEmitter.emit('event');
第一步:在websocket文件夹下,新建文件index.js
const EventEmitter = require('events')
const hub = new EventEmitter()
hub.on('abc', () => {
console.log('abc')
})
hub.emit('abc')
第二步:在websocket文件夹中,打开命令行窗口,
输入 node index.js
,查看打印数据
实例2
//发布订阅模式(自定义事件) 即:绑定事件和触发事件
// Vue的自定义事件
let vm = new Vue()
vm.on('hello', () => {})
vm.$emit('hello')
// jQuery的自定义事件
$('button').on('nihao', () => {})
$('button').trigger('nihao')
//node的自定义事件
const EventEmitter = require('events')
const hub = new EventEmitter()
//方式一
// hub.on('abc', () => {
// console.log('abc')
// })
// hub.emit('abc')
//方式二
class MyEvent extends EventEmitter {}
let myhub = new MyEvent()
console.log(typeof myhub.on) //function
打印-定义类