1.0.3 • Published 8 months ago
ray-eventpool v1.0.3
eventpool
事件总线处理器
basic eventpool
import { EventPool } from 'ray-eventpool';
// 监听事件
EventPool.bind('myEvent5', function(event, args, fn) {
alert('Publish Message 4th Times with args : ' + args);
fn(args);
});
// 触发事件
function pubshMsg(){
EventPool.trigger("myEvent5", [ "hello", function(args){
alert(args);
}]);
}
basic EventPubSub
subscribe 同 bind
监听事件unsubscribe 同 unbind
取消监听one
绑定一次事件publish 同 trigger
触发事件publishHandler 同 triggerHandler
触发事件名称
import { EventPubSub } from 'ray-eventpool';
// 监听事件
EventPubSub.bind('myEvent5', function(event, args, fn) {
alert('Publish Message 4th Times with args : ' + args);
fn(args);
});
// 触发事件
function pubshMsg(){
EventPubSub.trigger("myEvent5", [ "hello", function(args){
alert(args);
}]);
}
PubSub
import { PubSub } from 'ray-eventpool';
// 监听
PubSub.subscribe('HELLO', function(topic, data){
// data
console.log(data);
});
PubSub.publish('HELLO', '你好!')
// name space
PubSub.publish('HELLO.ray', 'ray 你好!');
PubSub.publish('HELLO.ilex', 'ilex 你好!');
PubSub.subscribe('HELLO', function(topic, data){
// ray 你好!
// ilex 你好!
console.log(data);//
});
EventEjector
import { EventEjector } from 'ray-eventpool';
const ee = new EventEjector();
ee.on('message', function (text) {
console.log(text)
});
ee.emit('message', 'hello world');
也可以直接使用 nodejs 内置的
events
模块、eventemitter or event-emitter
模块
IHub
通过 new IHub()
创建一个 hub 实例,其中:
hub 提供 hub.event 和 hub.events。
hub.events 是将参数规范话处理,比如 handle的唯一性处理, args 的统一化处理。
建议只使用 hub.events
进行事件分发
import { IHub } from 'ray-eventpool';
// or
import { IHub } from 'ray-eventpool/lib/eventHub';
const hub = new IHub();
hub.events.on('message', function (text) {
console.log(text)
});
hub.events.emit('message', 'hello world');
也可以直接使用 nodejs 内置的
events
模块、eventemitter or event-emitter
模块
changelog
2024-10-21 v1.0.3
fix IHub
bugs
2021-05-10 v1.0.2
add event hub