gpt4 book ai didi

javascript - 如何使用 Nashorn 从 Java 方法返回真正的 JavaScript 数组?

转载 作者:行者123 更新时间:2023-12-05 01:17:02 27 4
gpt4 key购买 nike

我正在编写一个供某些 JavaScript 代码使用的 API。此 API 中的某些方法应返回一个真正的 JavaScript 数组。不幸的是,这不起作用:

// MyApi.java
public class MyApi {
String[] returnsJavaArray();

List<String> returnsJavaList();
}

// MyScript.js
var api = getMyApi();
var strings = api.returnsJavaArray(); // Returns some kind of proxy
strings = api.returnsJavaList(); // Also a proxy

虽然代理支持像 strings[i] 这样的基本东西,但我需要它们是实际的数组,以便使用一些 Array polyfill。在 Nashorn 中执行此操作的最佳方法是什么?

到目前为止,我唯一的想法是为整个 MyApi 编写一个 JavaScript 包装器,并用 Java.from(api.returnsJavaArray()) 包装结果,但这很不错乏味。

最佳答案

你应该让你的API返回一串js。然后,在你的js文件中,你可以调用

eval(stringOfJsReturnFromServer); 

让你的脚本运行

关于javascript - 如何使用 Nashorn 从 Java 方法返回真正的 JavaScript 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36265755/

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