TeaVM 中的 GET 请求

问题描述 投票:0回答:1

我想用 Java 向 URL 发出 GET 请求,以便可以通过 TeaVM 将其转换为 Javascript。我知道我无法使用 java.net API,因为 TeaVM 不支持它。所以我尝试制作一个可以被 TeaVM 使用的 Javascript 函数。

@JSBody(params = { "url", "callback" }, script = "fetch(url)\n"
                                                     + ".then(response => response.text())\n"
                                                     + ".then(text => callback.complete(text))\n"
                                                     + ".catch(error => callback.error(error.message));")
    static native void fetch(String url, FetchCallback callback);

我的 Java 界面很简单:

public interface FetchCallback {
        void complete(String result);
        void error(String message);
    }

当我运行安装 Maven 目标时,出现此错误:

[错误] 方法 org.example.Client.fetch(Ljava/lang/String;Lorg/example/Client$FetchCallback;)V 不是正确的本机 JavaScript 方法声明:其第二个参数的类型错误

不幸的是,我的 JS 知识非常有限(因此是 TeaVM),所以我无法理解这个错误消息。有人可以帮助我如何在 TeaVM 中发出 GET 请求吗?

javascript java get teavm
1个回答
0
投票

根据文档

FetchCallback
必须扩展
JSObject
接口。顺便说一句,TeaVM 已经附带了 XMLHttpRequest 的包装器。

© www.soinside.com 2019 - 2024. All rights reserved.