Преглед изворни кода

feat(event): 增加 API event.DelayEmit,效果等于 #delay 0 event.Emit

dzp пре 2 година
родитељ
комит
1cf4438e8a
1 измењених фајлова са 13 додато и 0 уклоњено
  1. 13 0
      plugins/lib/event.tin

+ 13 - 0
plugins/lib/event.tin

@@ -170,6 +170,19 @@ PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 
     };
 };
 
+///=== {
+// ## event.DelayEmit <事件名称> [<回调钩子通配符>] [<事件参数>]
+//    延迟发射事件。类似于 event.Emit,但是会在当前触发执行完毕之后再发射事件。
+// };
+#alias {event.DelayEmit} {
+    #if { "@__xtt_event_name_is_valid__{%1}" != "true" } {
+        xtt.Usage event.DelayEmit;
+        #return;
+    };
+
+    #delay 0 {event.Emit %0};
+};
+
 ///=== {
 // ## event.Handle <事件名称> <回调钩子> <所属模块> <回调代码>
 //    注册事件回调钩子。参数说明如下: