내가 수행하는 서비스 호출을 기반으로 Int의 List를 반환하는 간단한 메서드를 작성했습니다.미래가 끝나면 값을 반환하는 방법은 무엇입니까?
내 문제는 ... 서비스 요청 메신저 결정이 어떤 가치의 미래를 반환, 그래서 내가 onComplete를을하고 나는 미래의 완료에 싶지만, onComplete를 단위를 반환 무엇을 반환 할 생각이다
이것이 내가 일하기를 원했던 방식입니다 :
def getListOfInts(str: String): List[Int] = {
myDaoService.findSomethingInDb(str).onComplete {
case Success(res) =>
res.map(line => line.amount.toInt*100).distinct.filter(num => num != 0).toList
case Failure(exception) => logger.error(s"finding in db has failed with exeption: ", exception)
}
}
미래가 완성 될 때 원하는 가치를 되돌려 놓는 올바른 방법은 무엇입니까?
는 내가 알고있는 보통의 map/flatmap
하지만 ... 그것은 미래에 싸여 나는 내 방법은 실제 값이 아니라 값의 미래를 반환 할
덕분에 계속됩니다!
스칼라 - 비동기 찾고있는 콜백 onFailure 있습니다 https://github.com/scala/async – sheunis