Event 类
Posted 沿着路走到底
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Event 类相关的知识,希望对你有一定的参考价值。
1
class Event
events =
constructor(eventName)
this.eventName = eventName
on(cb)
if(!this.events[this.eventName])
this.events[this.eventName] = [];
this.events[this.eventName].push(cb);
emit(...args)
if(!this.events[this.eventName])
return;
this.events[this.eventName].forEach(item =>
item.call(this, ...arguments);
);
off(cb)
if(!this.events[this.eventName])
return ;
this.events[this.eventName] = this.events[this.eventName].filter(item=>item!=cb);
// 以下是测试
const exampleEvent = new Event('example')
const callback1 = (a, b) =>
console.log(a, b)
const callback2 = (a, b) =>
console.log(b, a)
exampleEvent.on(callback1)
exampleEvent.on(callback2)
exampleEvent.emit(1, 2)
// 1,2
// 2,1
exampleEvent.off(callback1)
exampleEvent.emit(1, 2)
// 2,1
1
以上是关于Event 类的主要内容,如果未能解决你的问题,请参考以下文章
如何在 matplotlib 中为交互式绘图的 onclick(event) 函数创建类?