加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – Play Framework 2.1 ReactiveMongo – 填充多个下拉列

发布时间:2020-12-16 18:03:58 所属栏目:安全 来源:网络整理
导读:我有一个带有多个下拉列表的表单,我在模板中使用select和options helpers创建.应填充列表的实体从数据库中获取.但是,从数据库中检索是异步的,所以我应该在操作中使用Async,就像在这个 example中一样.但是,在我的例子中,没有一个我应该等待的查找操作,而是一
我有一个带有多个下拉列表的表单,我在模板中使用select和options helpers创建.应填充列表的实体从数据库中获取.但是,从数据库中检索是异步的,所以我应该在操作中使用Async,就像在这个 example中一样.但是,在我的例子中,没有一个我应该等待的查找操作,而是一个Seq of Future对象,大小不明.那么我怎样才能在渲染页面之前等待多个Future-s准备列表呢?或者也许有更好的方法来做到这一点?

解决方法

如果你没有一个很好的方法来组合它们,Scala期货将毫无价值.

如果你有一系列未来的对象,你可以将它转换为序列的未来:

val futureList = Future.sequence(listOfFutures)

所以现在你有一个未来可以应对.请参阅Future companion object上的文档,了解一些其他有用的功能,以各种方式组合期货.

如果你对使用期货的其他方式感到好奇(例如,你甚至可以使用简单的for-comprehansion将它们组合起来,因为它们具有monadic性质),你可能需要查看the primer on Scala futures以获得更多见解.

此外,如果您正在使用ReactiveMongo,那么看看Play 2.x的docs on Enumerator/Iteratee implementation绝对值得.如果你掌握了这种方法,你将能够真正地结合你的反应数据流和更多的魔法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读