예를 들어 미래의 호출을 n 번 실행하고 싶습니다. 예를 들어, 미래의 "실행"에는 시간이 걸리고 이전이 완료되었을 때만 새로운 호출을하고 싶습니다. 예 :미래의 n 번 실행
def fun(times: Int): Future[AnyRef] = {
def _fun(times: Int) = {
createFuture()
}
(1 to times).foldLeft(_fun)((a,b) => {
println(s"Fun: $b of $times")
a.flatMap(_ => _fun)
})
}
그래서 "_fun"함수를 하나씩 차례로 호출하고 싶습니다. "createFuture()"는 약간의 시간이 걸리므로, "_fun"은 이전에 미래가 완료되기 전에 다시 호출되어서는 안됩니다. 또한 비 차단 솔루션을 만들고 싶습니다. 현재이 코드는 이전의 미래를 기다리지 않고 실행됩니다.
아이디어를 얻는 방법에 대한 아이디어가 있으십니까?
답변 해 주셔서 감사합니다.
, 당신은 이런 식으로 뭔가를 시도해 볼 수도 있습니다 (난 그냥 마지막으로 완성 된 미래의 결과를 반환하는거야) 당신이 마지막 미래를 반환 할 정확히 이해하지 않고
반환 유형으로 무엇을 나타내시겠습니까? 그것은 어떻게 든 체인 된 미래의 통화 결과를 집계해야합니까? – cmbaxter