Я называю javascript, потому что это единственный способ его архивировать. Затем я вызываю мой Java / Kotlin метод "splitIt" из JavaScript, чтобы заполнить мои поля. тогда я хочу, чтобы этот результат был возвращен в конце.
но javascript запускается в конце, поэтому результат пустой
fun test01(): List<String> {
element.node.runWhenAttached { ui ->
println(1)
val x = ui.page.executeJavaScript(
"""setTimeout(
| function splitMyHTML () {
| ${'$'}0._editor.insertText(${'$'}0._editor.getSelection(true).index,"$CODEWORD");
| ${'$'}0.${'$'}server.splitIt();
| }
| ,0
|)""".trimMargin(), element
)
}
println(2)
return listOf(firstPart, secondPart)
}
@Suppress("unused") // this is used in javascript
@ClientCallable
fun splitIt() {
firstPart = "test1"
secondPart = "test2"
println(20)
}
вывод на печать
1
2
20
и список пуст
но я хочу, чтобы это было
1 20 2 и список заполняется "test1" и "test2"