gpt4 book ai didi

带有 GWT JsInterop 的 Javascript Promise 对象

转载 作者:行者123 更新时间:2023-11-30 11:56:48 27 4
gpt4 key购买 nike

我有这段代码,我想用它来初始化()一个第三方 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 promise ,但您可以根据您的场景调整它,它只是将 Promise Javascript 类与其 Java 对应类包装在一起,同时声明 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) { }
}

关于带有 GWT JsInterop 的 Javascript Promise 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37717870/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com