【发布时间】:2020-01-14 18:03:22
【问题描述】:
我正在尝试将温度转换作为 HTTP GET 请求返回并显示它。目前我不认为它正在等待未来完成。如果我尝试添加 onComplete 回调,那么它将不会编译并抱怨异步被重载。
def getTemperature = Action.async {
val futureTemp = scala.concurrent.Future { convert.convertTemperature(convert.qTemperature.front) }
futureTemp.map(i => Ok("Got result: " + i.value))
}
def convertTemperature(cTemp:Temperature) : Future[Double] = Future {
//If typeOfTemp is F convert it to C and vise versa
val typeOfTemp = cTemp.typeOfTemp
val tempVal = cTemp.tempVal
typeOfTemp match {
case "F" => (tempVal - 32) * 5 / 9
case "C" => (tempVal / 5) + 32
}
}
如果我只返回i,那么它将显示Future(<not completed>)
如果我像上面的代码一样返回i.value,它将显示None
我希望它等待并显示数值。 IE。 F, 32 只会返回 0
【问题讨论】:
标签: scala playframework future