跳到主要内容

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", $<);
}