Цель состоит в том, чтобы передавать данные из базы данных, выполнять некоторые вычисления на этом фрагменте данных (это вычисление возвращает Будущее некоторого класса case) и отправлять эти данные как ответные запросы пользователю. В настоящее время я могу передавать данные и отправлять ответ без каких-либо вычислений. Однако я не могу выполнить это вычисление, а затем передать результат.
Это маршрут, который я реализовал.
def streamingDB1 =
path("streaming-db1") {
get {
val src = Source.fromPublisher(db.stream(getRds))
complete(src)
}
}
Функция getRds возвращает строки таблицы, отображаемой в класс case (Use slick). Теперь рассмотрим вычисление функции, которое берет каждую строку в качестве входного и возвращает будущее другого класса case. Что-то вроде
def compute(x: Tweet) : Future[TweetNew] = ?
Как я могу реализовать эту функцию в переменной src и отправить пользователю запрос (как поток) этого вычисления в chunked response.