scala - 覆盖来自 Future 的 val 特征
问题描述
我想覆盖val t
from getValue
which 返回一个Future
trait demo{
val t :String
}
class Test1 extends demo{
override val t = "abc"
}
class Test2 extends demo{
override val t = ""
private def getValue ={
Future(Option("abc"))
}
}
解决方案
你可以做的那种接近于map
一个匿名类扩展的未来demo
:
val aDemo: Future[demo] = Future("abc").map { value =>
new demo {
override val t = value
}
}
当然,您也可以在理解范围内执行此操作,例如:
for (value <- Future("abc")) yield
new demo {
override val t = value
}
推荐阅读
- linux - 启动 mongodb 服务器时出错
- c++ - 同一文件的不同哈希值(使用 ifstream 完成读取)
- python - 使用标准 1 行编写列表 - Python
- mongodb - 如何使用 mongodump 备份 mongo 集合列表以存档
- php - paypal用户名密码signautre和帐户clientID和secret有什么区别
- python - 内核已死并在运行单元以训练回归模型时自动重新启动
- angular - Angular HttpClient.get() 不返回完整的响应标头
- rspec - Rspec 测试语言环境是否具有相同的键
- reactjs - 如何将自定义样式添加到 npm 模块 powerBi-report-component
- c# - ASP.NET Core - 在单例中使用配置