【问题标题】:Scala: from Seq to Sequential FuturesScala:从 Seq 到 Sequential Futures
【发布时间】:2017-01-19 13:47:53
【问题描述】:

我有一个 SeqBook,我需要按照它们在 Seq 中的相同顺序保存到我的数据库中。 Book.save 返回 Future[Unit]

如果我写下面的代码,我知道保存顺序可能不会被保留:

books.map(_.save)

如何按顺序执行这些保存,但将结果返回为Future? 谢谢!

【问题讨论】:

标签: scala dictionary future seq


【解决方案1】:

你可以使用 foldLeft:

val res:Future[Unit] = books.foldLeft(Future.successful {}) {
  case (acc, book) => acc.flatMap(_ => book.save)
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-04
    • 2020-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多