模块 ringo/events
导出一个 EventEmitter 类,该类提供了用于发出事件和注册事件listener函数的方法。
Class EventEmitter
Instance Methods
- emit(type, [args...])
- listeners(type)
- on(type, listener)
- removeAllListeners(type)
- removeListener(type, listener)
Class JavaEventEmitter
Instance Methods
- addListener(type, listener)
- addSyncListener(type, listener)
- emit(type, [args...])
- on(type, listener)
- removeAllListeners(type)
- removeListener(type, listener)
Instance Properties
EventEmitter ()
此类提供了一些方法来发出事件并添加或删除事件listener。
EventEmitter 函数可以用作构造函数或混合使用。使用 new 关键字构造一个新的 EventEmitter:
var emitter = new EventEmitter();
要将事件处理方法添加到现有对象,请使用以下对象调用或应用 EventEmitter 函数:
EventEmitter.call(object);
EventEmitter.prototype. emit (type, [args...])
向所有为此事件类型注册的listener发出一个事件
Parameters
String | type | type the event type |
... | [args...] | optional arguments to pass to the listeners |
Returns
true if the event was handled by at least one listener, false otherwise |
Throws
EventEmitter.prototype. listeners (type)
获取包含给定事件的listener函数的数组。 如果给定事件不存在listener,则创建一个新数组。 返回值的变化将反映在EventEmitter实例中。
Parameters
String | type | the event type |
Returns
Array | the lister array |
EventEmitter.prototype. on (type, listener)
为给定事件添加一个listener函数。这是 addListener() 的快捷方式
Parameters
String | type | the event type |
Function | listener | the listener |
Returns
EventEmitter | this object for chaining |
EventEmitter.prototype. removeAllListeners (type)
删除给定事件的所有listener函数。
Parameters
String | type | the event type |
Returns
EventEmitter | this object for chaining |
EventEmitter.prototype. removeListener (type, listener)
删除给定事件的listener函数。
Parameters
String | type | the event type |
Function | listener | the listener |
Returns
EventEmitter | this object for chaining |
JavaEventEmitter (classOrInterface, eventMapping)
将事件分派给 Ringo 的适配器。该类将一个 Java 类或接口作为参数,并创建一个 Java 对象来扩展或实现类或接口,并将方法调用转发给使用 EventEmitter 方法注册的事件listener函数。
像 EventEmitter一样, JavaEventEmitter
可以用作构造函数或混合使用。使用 new
关键字构造一个新的
JavaEventEmitter:
var emitter = new JavaEventEmitter(JavaClassOrInterface);
要将事件处理方法添加到现有对象,请使用以下对象调用或应用 JavaBeanEventEmitter 函数:
JavaEventEmitter.call(object, JavaClassOrInterface);
JavaEventEmitter 接受一个对象作为可选的第二个参数,将 Java 方法映射到事件名称。如果第一个参数是 Java 类,则此映射还允许选择应覆盖哪些方法。如果在没有事件映射的情况下调用,方法名称将用作事件名称,除了像触发事件 foo 的 onFoo 之类的方法。
Parameters
java.lang.Class|Array | classOrInterface | a Java class or interface, or an Array containing multiple Java interfaces. |
Object | eventMapping | optional object mapping method names to event names. If this parameter is defined only methods whose name is a property key in the object will be overridden, and the event type will be set to the property value instead of the method name. |
JavaEventEmitter.prototype. addListener (type, listener)
为给定事件添加一个listener函数。该函数将在本地事件循环的线程上异步调用。
Parameters
String | type | the event type |
Function | listener | the listener |
JavaEventEmitter.prototype. addSyncListener (type, listener)
为给定事件添加一个同步listener函数。同步listener将由外部线程调用,而不是本地事件循环的线程。这意味着可以在该工作人员运行其他代码时同时调用它。
Parameters
String | type | the event type |
Function | listener | the listener |
JavaEventEmitter.prototype. emit (type, [args...])
向所有为此事件类型注册的listener发出一个事件
Parameters
String | type | type the event type |
... | [args...] | optional arguments to pass to the listeners |
Returns
true if the event was handled by at least one listener, false otherwise |
Throws
JavaEventEmitter.prototype. impl
生成的 Java 对象。这实现了传递给 JavaEventEmitter 构造函数的 Java 接口,并且可以传递给期望给定接口的 Java 代码。
JavaEventEmitter.prototype. on (type, listener)
为给定事件添加一个listener函数。这是 addListener() 的快捷方式。
Parameters
String | type | the event type |
Function | listener | the listener |
JavaEventEmitter.prototype. removeAllListeners (type)
删除给定事件的所有listener函数。
Parameters
String | type | the event type |
JavaEventEmitter.prototype. removeListener (type, listener)
删除给定事件的listener函数。
Parameters
String | type | the event type |
Function | listener | the listener |