2010-07-28 19 views

Respuesta

21

Sí, sí:

private static native void doThingWithCallback() /*-{ 
    var self = this; 
    var callbackFn = $entry(function(val) { 
    self.[email protected](Ljava/lang/String;)(val); 
    }); 
    $wnd.someApiThatTakesACallback(callbackFn); 
}-*/; 

Dos cosas para recordar:

  1. $entry() recuerda GWT para realizar un seguimiento del código cuando se utiliza el depurador.
  2. var self = this mantiene la referencia a this dentro de la función - de lo contrario habrá this la función en sí ...
+4

Se supone que tienen :: antes de que el nombre del método:. @ Com.your.package auto. AClass :: aMethod (Ljava/lang/String;) (val); – AmanicA

+0

¿es este un método de JavaScript o un método de Java? javascript no tiene 'estática privada' y java no tiene 'var'. –

+1

@ClickUpvote es un método nativo GWT, que le permite escribir JS nativo en su código GWT Java. –

Cuestiones relacionadas