Imagaine У меня есть следующий код:Получить асинхронный результат от слушателя
class Listener {
//excuted by thread 1
//called when request is finshed
def complete(result: Result) = //get result as return value for request
}
//excuted by thread 2
def request: Result = {
//Do something that invokes Listener.complete
//return result from listener
}
Как я уже писал в комментариях, я хочу, чтобы получить результат моей Listener.complete функции как результат для моей функции запроса , Я мог бы архивировать это, комбинируя блокировку с var, но это не хороший стиль scala. Итак, каковы же альтернативы?
Посмотрите актеров акки или хотите встроенное решение, а затем используйте Futures (http://docs.scala-lang.org /overviews/core/futures.html) – mohit
Слушатель предоставляется, поэтому я должен использовать его и не могу использовать akka или Futures –