我想允许 JavaScript 注册事件,语法如下
object.on('eventName', (event) => {
event.something();
});
该event
对象提供不同的方法,具体取决于是什么'eventName'
(取决于我想为其添加处理程序的事件类型)。
我需要为object
和创建主机对象event
,我假设需要的类必须object
看起来像
public class Events {
public void on(String eventName, X<FirstEvent> event) {
// ...
}
public void on(String eventName, X<SecondEvent> event) {
// ...
}
}
如果有两种类型的事件。
但我不知道如何让 graalvm 自动选择正确的on
方法,也不知道第二个参数使用什么类型(它必须是一个 JavaScript 匿名函数,它接受某个类型的单个参数,并且以后必须由我的 Java 代码运行)。
如何存储 JavaScript 匿名函数
(event) => {
event.something();
}
作为某种 Java Runnable,并确保 GraalVM 知道on
根据第一个字符串参数的值使用哪种方法(因为event
传递的对象对于不同的事件会有所不同)。
我认为这可能是一个超级复杂的问题,我发现正确措辞很棘手。
我想为 JavaScript 创建一种方法来注册事件处理程序,这些事件处理程序是稍后将使用某些参数调用的函数。