如何在java/nashorn中检索javascript承诺的值

如何在java/nashorn中检索javascript承诺的值,javascript,java,scala,nashorn,Javascript,Java,Scala,Nashorn,我试图使用nashorn/ScriptEngine模式在scala中执行一些javascript代码,我调用的javascript函数返回一个承诺,假设我没有代理这个返回类型 import javax.script.ScriptEngineManager val engine = new ScriptEngineManager().getEngineByName("nashorn") val resp: ScriptObjectMirror = engine.eval("Promise.re

我试图使用nashorn/ScriptEngine模式在scala中执行一些javascript代码,我调用的javascript函数返回一个承诺,假设我没有代理这个返回类型

import javax.script.ScriptEngineManager

val engine = new ScriptEngineManager().getEngineByName("nashorn")

val resp: ScriptObjectMirror = engine.eval("Promise.resolve([1,2,3])")
我似乎无法找到任何方法来检索内部值,而是返回了这个黑盒
ScriptObjectMirror
。我真正想要的是提取内部值,即在javascript中它看起来像

Promise.resolve([1,2,3]).then(function(result) {
    // do something with the result
}
我认为这与外部引擎环境不知道应该等待承诺完成这一事实有关