![](/img/trans.png)
[英]How to call a JavaScript function from GWT with jsInterop?
[英]Javascript Promise object with GWT JsInterop
我有這個代碼,我想用於init()第三方Javascript庫:
@JsType(namespace = JsPackage.GLOBAL, name = "Kinvey", isNative = true)
public class Kinvey {
public String appKey;
public String appSecret;
public static native void init();
}
問題是init
函數返回一個Javascript Promise對象, GWT如何使用JsInterop處理這個對象?
var promise = Kinvey.init({
appKey : 'your_app_key',
appSecret : 'your_app_secret'
});
promise.then(function(activeUser) {
...
}, function(error) {
...
});
這個例子用於從GWT代碼返回JS promises,但你可以根據你的場景調整它,它只是用它的Java對應類包裝Promise
Javascript類,同時聲明then()
和catch()
方法:
@JsType(isNative = true, namespace = JsPackage.GLOBAL)
public class Promise {
@JsFunction
public interface FunctionParam {
void exec(Object o);
}
@JsFunction
public interface ConstructorParam {
void exec(FunctionParam resolve, FunctionParam reject);
}
@JsConstructor
public Promise(ConstructorParam parameters) {
}
public Promise then(FunctionParam f) { }
public Promise catch(FunctionParam f) { }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.