Способ сделать это на функциональном языке l oop с помощью рекурсивной функции:
def loop(a: Int): Unit =
funtionA(a) match {
case Right(s) =>
println(s.state)
if (s.state == 1) {
println("ok")
} else {
println("not ok")
loop(a)
}
case Left(e) =>
println(s"error $e")
}
loop(123)
Однако похоже, что это опрос другого потока, что не очень хорошая идея. Посмотрите на использование чего-то вроде Future
или Akka Actors для управления многопоточностью.