我正在编写一些API,供一些JavaScript代码使用。此API中的某些方法应返回真正的JavaScript数组。不幸的是,这不起作用:
for
虽然代理支持// 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
等基本内容,但我需要将它们作为实际数组才能使用某些Array polyfill。 Nashorn最好的办法是什么?
到目前为止,我唯一的想法是编写整个strings[i]
的JavaScript包装器并用MyApi
包装结果,但这非常繁琐。
答案 0 :(得分:-1)
你应该让你的API返回一串js。 然后,在您的js文件中,您可以调用
eval(stringOfJsReturnFromServer);
使您的脚本运行