Я внедряю сервер с использованием Ktor, и один из вызовов заключается в получении (потенциально большого) списка пользователей, которые будут получены из запроса к базе данных. Я хотел бы разделить свой ответ на части, поэтому мой пользовательский вызов выглядит следующим образом:
fun users() =
flow {
emit("A")
emit("B")
emit("C")
}
Где вызовы emit будут в конечном итоге заменены данными из набора результатов. Маршрут выглядит следующим образом:
route("Users") {
get() {
call.respondTextWriter {
users().collect { write(it) }
flush()
}
}
// other calls, e.g. post(), delete(), etc.
Однако оба вызова write
и flush
показывают предупреждение: «Неправильный вызов метода блокировки». Чего мне не хватает?
Спасибо.