Я читал эту статью http://danielwestheide.com/blog/2013/01/16/the-neophytes-guide-to-scala-part-9-promises-and-futures-in-practice.html и я смотрел на этот код:Будущее заявление кажется независимым от обещания
object Government {
def redeemCampaignPledge(): Future[TaxCut] = {
val p = Promise[TaxCut]()
Future {
println("Starting the new legislative period.")
Thread.sleep(2000)
p.success(TaxCut(20))
println("We reduced the taxes! You must reelect us!!!!1111")
}
p.future
}
}
Я видел этот тип кода несколько раз, и я запутался. Таким образом, мы имеем это Promise
:
val p = Promise[TaxCut]()
И это Future
:
Future {
println("Starting the new legislative period.")
Thread.sleep(2000)
p.success(TaxCut(20))
println("We reduced the taxes! You must reelect us!!!!1111")
}
Я не вижу никакой уступки между ними, так что я не понимаю: Как они связаны?
'Future {}' не является макросом. Это просто применить метод в сопутствующем объекте. –
@ Łukasz Спасибо за это, было под впечатлением, что это был макрос по какой-то причине. –