我有一个window.onload = function() {
body = document.getElementsByTagName('body')[0]
body.addEventListener('mousedown', function() {
event.preventDefault();
})
}
,我需要将其变成List[Task[Boolean]]
。
我有一个可能的解决方案
EitherT[Task, Throwable, Unit]
但我想知道是否可以在不明确调用EitherT(Task.delay(if (!allAsserts.contains(false)) \/-(()) else -\/(new Exception("BOOM"))))
的情况下创建EitherT
。
也许上面的代码是正确的,但我只是想知道是否有其他选择。
答案 0 :(得分:0)
也许这个?
lazy val toDisjuction: List[Boolean] => \/[Throwable, Unit] = list =>
if (list.forall(_ == true)) \/-(()) else -\/(new Exception("BOOM"))
val ltb: List[Task[Boolean]] = ???
EitherT(Task.gatherUnordered(ltb) map toDisjunction)
我认为这就是我要找的......