Я пытаюсь выполнить некоторый код javascript в scala, используя шаблон nashorn / ScriptEngine, вызываемая мной функция 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
}
Я думаю, что это как-то связано с тем, что внешний контекст движка не знает, что ему следует ждатьОбещание закончить.