2010-07-28 4 views

Répondre

21

Oui, il le fait:

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

Deux choses à retenir:

  1. $entry() rappelle GWT de garder une trace du code lors de l'utilisation du débogueur.
  2. var self = this conserve la référence à this dans la fonction - sinon this sera la fonction elle-même ...
+4

Vous êtes censé avoir :: avant le nom de la méthode:. @ Auto com.your.package. AClass :: aMethod (Ljava/lang/String;) (val); – AmanicA

+0

est-ce une méthode javascript ou une méthode java? javascript n'a pas de 'private static' et java n'a pas 'var'. –

+1

@ClickUpvote C'est une méthode native de GWT, qui vous permet d'écrire du JS natif dans votre code Java GWT. –

Questions connexes