Преобразование cv JVM - PullRequest
       9

Преобразование cv JVM

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

Экспериментируя с ktor, я попытался сделать следующее:

fun main() {
    embeddedServer(Netty, port = 8080) {
        routing {
            get("/") {
                call.respondTextWriter(ContentType.Text.Html) {
                    appendHTML().html {
                        head {}
                        body {
                            pre {
                                (1..10).forEach {
                                    text("counting: $it\n")
                                    flush()
                                    // delay(1000)   <-   I wish...
                                    Thread.sleep(50) // that works
                                }
                            }
                        }
                    }
                }
            }
        }
    }.start()
}

К сожалению, библиотека kotlinx.html не может быть приостановлена. Вызов метода delay не компилируется с этой ошибкой: функции приостановки могут вызываться только внутри тела сопрограммы.

Все это согласно документации и имеет смысл. Хотя было бы здорово, если бы это было возможно.

Одним из возможных решений будет инструмент, который преобразует библиотеку в CPS на уровне байт-кода. Существует ли такой инструмент?

...