Wie rufen Sie eine Methode in einem Nashorn CompiledScript auf?
Ich habe den folgenden Code, der funktioniert:
ScriptEngine jsEngine = ScriptEngineManager.new().getEngineByName("nashorn");
jsEngine.eval("some script");
jsEngine.invokeMethod(jsEngine.eval("foo"), "bar");
Aber ich möchte ein vorkompiliertes Skript verwenden, damit ich das Skript nicht jedes Mal auswerten muss, wenn ich es ausführen muss. Also versuche ich es.
ScriptEngine jsEngine = ScriptEngineManager.new().getEngineByName("nashorn");
CompiledScript compiledJS = jsEngine.compile("some script");
Aber dann bin ich mir nicht sicher, was ich mit CompiledScript machen soll. Wie rufe ich eine Methode auf? es implementiert anscheinend nichts anderes als eval ():https: //docs.oracle.com/javase/8/docs/api/javax/script/CompiledScript.htm