gwt - GWT JSNI 支持回调吗?

标签 gwt jsni

我正在构建一个使用 Web SQL 本地存储的 GWT 应用程序 ( http://dev.w3.org/html5/webdatabase/ )。 问题是 Web SQL API 使用回调函数作为 论据。

是否可以将“Java”回调传递给 JSNI?

最佳答案

是的,确实如此:

private static native void doThingWithCallback() /*-{
  var self = this;
  var callbackFn = $entry(function(val) {
    self.@com.your.package.AClass.aMethod(Ljava/lang/String;)(val);
  });
  $wnd.someApiThatTakesACallback(callbackFn);
}-*/;

要记住两件事:

  1. $entry() 提醒 GWT 在使用调试器时跟踪代码。
  2. var self = this 在函数内部保留对 this 的引用 - 否则 this 将是函数本身...<

关于gwt - GWT JSNI 支持回调吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3357076/

相关文章:

java - GWT.create(MyClass.class) 给出 MyClass 必须是一个类的错误

java - 在 jsni 函数中调用 GWT java 方法

jquery - 在 GWT jsni 中使用 jquery

java - JSNI(从 javascript 到 java 的调用)

javascript - (MyClass) JavaScriptObject.createObject() 与 JavaScriptObject.createObject().cast()

gwt - ckeditor + smartgwt 模态窗口 + 对话框下拉菜单获得焦点但不显示选项

java - 展开 AccordionLayoutContainer 中的 ContentPanel

javascript - 如何在 GWTTestCase 中测试 "Timer code"?

google-app-engine - 连接 GWT 和 PostgreSQL

javascript - 从GWT上的手写JS获取Java方法返回值