저는 scala에 익숙하지 않습니다. 2.10RC3에 몇 가지 Futures를 결합하려고합니다. Futures
은 순차적 인 순서로 실행되어야합니다. 문서 Scala SIP14에서는 선물을 순차적으로 실행하기 위해 andThen
메서드가 정의됩니다. 이 방법을 사용하여 여러 개의 Futures
을 결합했습니다 (아래 예 참조). 내 기대는 6
을 인쇄했지만 결과는 0
입니다. 여기서 내가 뭘 잘못하고 있니? 두 가지 질문이 있습니다.Scala에서 임의의 수의 미래를 순차적으로 결합합니다.
먼저, 결과가 0
인 이유는 무엇입니까? 둘째로, 여러 개의 Futures
을 어떻게 조합하여 Future
이 완료되기 전에 두 번째 Future
의 실행이 시작되지 않도록 할 수 있습니까?
val intList = List(1, 2, 3)
val sumOfIntFuture = intList.foldLeft(Future { 0 }) {
case (future, i) => future andThen {
case Success(result) => result + i
case Failure(e) => println(e)
}
}
sumOfIntFuture onSuccess { case x => println(x) }
고마워요! 이것은 내가 필요한 것입니다. – Chrisse
+1 많은 도움이되었습니다. – pvorb