2011-03-27 60 views
11

找不到关于此功能的任何开发人员信息。我只知道建议使用这个$entry函数将JSNI JavaScript调用包装为Java方法。我发现它捕获异常,所以Java代码可以处理它们。它只是它吗?

回答

14

如果您想确切地知道发生了什么,请查看com.google.gwt.core.client.impl.Impl.entry(JavaScriptObject jsFunction)

此功能(至少是在GWT 2.2.0)主要调用entry0(Object jsFunction, Object thisObj, Object arguments),其执行以下操作:

  • 首先,它刷新任何已定由Scheduler.scheduleEntry()
  • 然后,它可以确保执行如果存在这样的处理程序,则在try块中的jsFunction将异常转发到GWT.getUncaughtExceptionHandler()
  • 最后,刷新已定于Scheduler.scheduleFinally()
什么