λ
Подскажите, можно ли написать более декларативно, используя только
cats-effect
?def getPage(pageNo: Int): IO[List[T]] = ???Scastie: https://scastie.scala-lang.org/WteekClkScOlKY1M0RuAWQ
def getAllPages[T](): IO[List[T]] = {
def loop(pageNo: Int, acc: List[T]): IO[List[T]] =
getPage(pageNo).flatMap {
case Nil => IO.pure(acc)
case ls => loop(pageNo + 1, acc ::: ls)
}
loop(1, Nil)
}