event_emitter
简介
组件-事件触发器(仿python的libs.pyee)
组件接口
event_emitter.gs
函数原型 | 函数作用 |
---|---|
void on(string event, function func) | 关注指定事件 |
void on_raw(string event, function func) | 关注指定事件,回调直接传array,不展开参数 |
void once(string event, function func) | 关注一次指定事件(执行后删除) |
void remove_event(string event) | 取消关注指定事件 |
void remove_all_events() | 移除所有事件 |
void emit(string event, ...) | 触发事件 |
样例
component pkg.event_emitter;
test();
public void test()
{
on("event1", (: func :));
on("event2", (: func :));
on_raw("event1", (: func :));
once("event_once1", (: func :));
on_raw("event_once2", (: raw_func :));
once("event_once2", (: func :));
emit("event1", "e1");
emit("event2", "e2");
emit("event_once1", "once1");
emit("event_once2", "once2");
remove_event("event1");
emit("event1");
emit("event2");
emit("event_once1");
emit("event_once2");
}
void raw_func(array args)
{
printf("raw_args: %O\n", args);
}
void func(...)
{
printf("args: %O\n", $<);
}