如何迭代List [Result]并返回一个布尔值/ Result?

Did*_*ion 2 scala playframework

我有一个Future[List[Result]] 运行逻辑,例如,如果列表中的所有项目都Result.Ok然后返回Result.Ok(或为true),否则返回Result.BadRequest(或为false)

我试过了: futureResultList.map(temp => temp.forall(_ == true))

但是,此代码仅在列表包含布尔值时有效。如果包含Result对象则不起作用(更改check时to _ == Result.Ok

Tim*_*Tim 8

要返回a,Boolean您只需要更改forall调用中的谓词即可:

futureResultList.map(_.forall(_ == Result.Ok))
Run Code Online (Sandbox Code Playgroud)

  • 我的版本只是该代码的简洁版本,所以我不确定为什么您的版本无法正常工作。 (3认同)