Невозможно вызвать асинхронные функции JavaScript из Nashorn Java. - PullRequest
0 голосов
/ 13 ноября 2018

Я хочу вызвать функцию javascript, например, из java, используя nashorn

async function testSample() {    
    for (var i = 0; i < sample.length; i++) {
        await sample[i]();
    }    
}

Так что она выполнит все функции в примере переменной l.Но я получаю следующую ошибку

Expected ; but found function
async function testSample()() {
  ^ in <eval> at line number 8 at column number 6

Есть ли поддержка для асинхронных функций в nashorn?

Есть ли способ решить эту проблему?

1 Ответ

0 голосов
/ 13 ноября 2018

async определено в ECMAScript 2017;Nashorn в настоящее время поддерживает только ECMAScript 5.1.

Поэтому вы не можете напрямую вызывать этот код из Nashorn.Вы можете попробовать переписать его, используя Promise s, или, может быть, скомпилировать его в ES5 с чем-то вроде babel.

...