如何使用nashorn从java方法返回一个真正的javascript数组?

2sbarzqh  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(291)

我正在编写一个api供一些javascript代码使用。这个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] ,我需要它们是实际的数组,以便使用一些数组多填充。在纳索恩最好的办法是什么?
到目前为止,我唯一的想法是编写一个完整的javascript Package 器 MyApi 并用 Java.from(api.returnsJavaArray()) 但那很乏味。

but5z9lq

but5z9lq1#

你应该让api返回一个js字符串。然后,在js文件中,可以调用

eval(stringOfJsReturnFromServer);

使脚本运行

相关问题