从Javascript调用dart编译的Javascript时,如何将回调函数传递到dart编译的Javascript中?

从Javascript调用dart编译的Javascript时,如何将回调函数传递到dart编译的Javascript中?,dart,dart-js-interop,Dart,Dart Js Interop,我正试图一步一步地将我的项目转换为dart。我已经将一个独立库转换为Dart,并且在我的项目中使用Dart编译的javascript。谢谢你在这方面的帮助。我能够调用Dart编译的javascript函数。现在我面临另一个难题。如果Dart函数需要回调,如何将Javascript函数传递到Dart生成的Javascript函数中 我试图做的是从Javascript注册一个Dart事件处理程序,例如: 在我的Dart中,我有事件总线,Dart对象可以通过以下方式注册事件处理程序: bus.on('

我正试图一步一步地将我的项目转换为dart。我已经将一个独立库转换为Dart,并且在我的项目中使用Dart编译的javascript。谢谢你在这方面的帮助。我能够调用Dart编译的javascript函数。现在我面临另一个难题。如果Dart函数需要回调,如何将Javascript函数传递到Dart生成的Javascript函数中

我试图做的是从Javascript注册一个Dart事件处理程序,例如:

在我的Dart中,我有事件总线,Dart对象可以通过以下方式注册事件处理程序:

bus.on('eventName',callbackFunc);
Dart对象通过以下方式触发事件:

bus.fire('eventName',数据);
我通过以下方式向Javascript世界公开总线:

js.context['registerEvent']=bus.on;
在Javascript中,我想调用

registerEvent('someEvent',function(){console.log('JS callback'});

要注册事件处理程序,当Dart对象触发事件时,将调用JS回调。

您是否可以尝试将其作为参数传递给Dart,并使用
参数调用它。应用([])
从上一个问题开始

js.context[“sayGreeting”]=(消息){
打印(“问候语:$message”);
};
//传递上面已经定义的js函数。
someJsObject.callMethod('someOriginalJsFunction',[js.context['sayGreeting']]);

我在问题中添加了更多信息。您的方法无效,因为1.dart不知道回调函数名。2.可能根本没有函数名,就像问题中的内联函数一样。param.apply()不起作用。Uncaught NoSuchMethodError:无法在“#”(对象#没有方法“apply$0”)上调用“apply$0”)尝试
param.apply([])