Nashorn - 如何在Java中获取JS数组?

3

我有这个JS函数:

function newJSArray() {return []}

我正在尝试使用以下方法在Java中返回内容:
public static NativeArray newArray() throws Exception {
    return (NativeArray)invocable.invokeFunction("newJSArray");
}

但是当我尝试调用这个函数时,它会抛出一个异常:
Exception in thread "main" java.lang.NoSuchMethodError: ....JavaScript.newArray()Ljdk/nashorn/api/scripting/JSObject;
    at ....

我希望能够提供一个JS数组,以便我可以调用jsArr1.concat(jsArr2)。
2个回答

2
是的,所有API方法都返回jdk.nashorn.api.scripting.JSObject的JavaScript对象实例。您可以通过JSObject.getSlot方法访问该JS数组的成员。

0
发现返回的对象是JSObject。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接