将Java回调函数传递给JSNI方法

Pass Java Callback Function to JSNI Method?

本文关键字:JSNI 方法 Java 回调 函数      更新时间:2024-03-31

我想将成功和失败回调Java函数传递给JSNI方法。

这是我到目前为止得到的,但它不起作用。我该怎么修

package c;
public class A {
test(new Callback<String, String>() {
    @Override
    public void onFailure(String reason) {
        Window.alert("fail");
    }
    @Override
    public void onSuccess(String result) {
        Window.alert("suc");
    }
});

native void test(Callback<String, String> callback) /*-{
  var callback = $entry(function(event) {
     callback.@c.A.Callback::onSuccess(Ljava/lang/String;)("success!");
  });
}-*/;
}

您可以通过以下方式调用回调方法:

native void test(Callback<String, String> callback) /*-{
  callback.@com.google.gwt.core.client.Callback::onSuccess(Ljava/lang/Object;)("success!");
}-*/;