Результат JavaScript выполнен слишком поздно - PullRequest
0 голосов
/ 20 июня 2019

Я называю 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"

...