значение поля "phone"
Как мне выйти из сложившейся ситуации и вернуть String?
https://scastie.scala-lang.org/GfAUGCszTlmRDKd7po0sdA
Слик асинхронный, можно вернуть Future[String] только. Если не писать грязный хак с Await.result
Это да. Понимаю. Но мне хотя бы Future[] вернуть
db.run возвращает future, разве нет? И .map надо писать на квере, а не на результате, если надо одну колонку достать, и использовать result.headOption
щас перекину map на квери. А насчёт db.run. Я вызываю у него метод onComplete, Поэтому ничего не хочет возвращать)
не надо вызывать onComplete
Окей, могу А как тогда правильно работать с NoSuchElementException? В случаях, когда нет полей в таблице удовлетворющих условию.
Окей, крайний вопрос. Я применил onComplete потому что не хотел получать: Future[<not completed>]. А использовать Await это норм практика или есть ещё какой-нибудь выход?
Это анти практика ) Обычно либо Future до самого верха (веб слоя например), либо Future абстрагируют в F[_], либо в другие таски.
Обсуждают сегодня