17
웹 SQL 로컬 저장소 ( http://dev.w3.org/html5/webdatabase/)를 사용하는 GWT 앱을 구축 중입니다. 문제점은 웹 SQL API가 콜백 함수를 인수로 사용한다는 것입니다.GWT JSNI는 콜백을 지원합니까?
"Java"콜백을 JSNI에 전달할 수 있습니까?
웹 SQL 로컬 저장소 ( http://dev.w3.org/html5/webdatabase/)를 사용하는 GWT 앱을 구축 중입니다. 문제점은 웹 SQL API가 콜백 함수를 인수로 사용한다는 것입니다.GWT JSNI는 콜백을 지원합니까?
"Java"콜백을 JSNI에 전달할 수 있습니까?
예, 그렇습니다 :
private static native void doThingWithCallback() /*-{
var self = this;
var callbackFn = $entry(function(val) {
[email protected](Ljava/lang/String;)(val);
});
$wnd.someApiThatTakesACallback(callbackFn);
}-*/;
두 가지 기억 :
$entry()
디버거를 사용할 때 코드를 추적하는 GWT를 생각 나게한다.var self = this
함수 내부 this
에 대한 참조 유지 - 그렇지 않으면 this
는 함수 자체가 될 것입니다 ... 당신이이 가정된다
:: 메소드 이름 앞에 :. 자기 @ com.your.package을. AClass :: aMethod (Ljava/lang/String;) (val); – AmanicA
이것은 자바 스크립트 메소드 또는 자바 메소드입니까? javascript에는 'private static'이없고 java에는 'var'이 없습니다. –
@ClickUpvote GWT 네이티브 메소드로, 네이티브 JS를 GWT 자바 코드로 작성해 보자. –