我想将id列表转换为Tasks
列表,并同时运行它们,类似于Promise.all
。我知道应用程序,但我想应用未知数量的任务,所以我不相信这将是最好的方法。
假设我的Task
包含Task
的数组。
Task.of([Task.of(1), Task.of(2)])
无论如何,将任务折叠成一个将全部运行它们的任务,或者是否有更好的方法可以处理数据转换。
如果您想提供示例,则可以复制包含data.Task
的代码段。
http://folktalegithubio.readthedocs.io/en/latest/api/data/task/
// Task([Task])
Task.of([0, 1, 2])
.map(t => t.map(Task.of))
.fork(console.error, console.log)
<script src="https://codepen.io/synthet1c/pen/bWOZEM.js"></script>
答案 0 :(得分:1)
control.async.parallel
正是您所寻找的。 p>
我知道应用程序,但我想应用未知数量的任务,所以我不相信这将是最好的方法。
这不应该让你退缩,数组是可遍历的,而sequenceA
会完全按你想要的那样(尽管效率很低)。如果它是在民间故事中实现的,那里没有列表,甚至没有control.applicative
。
control.monad.sequence
应该与应用序列的工作方式相同,但不必使用chain
代替ap
。而data.task
无论如何都是有问题的,因为ap
不能从具有相同语义的chain
派生出来。