【发布时间】:2025-12-20 05:55:01
【问题描述】:
假设我有 4 个未来的计算要做。前两个可以并行完成,但第三个必须在前两个之后完成(即使前两个的值没有在第三个中使用——将每个计算视为执行某些 db 操作的命令)。最后,在前 3 次计算之后必须进行第 4 次计算。此外,还有一个副作用,可以在前 3 次完成后开始(将其视为启动周期性可运行文件)。在代码中,这可能如下所示:
for {
_ <- async1 // not done in parallel with async2 :( is there
_ <- async2 // any way of achieving this cleanly inside of for?
_ <- async3
_ = sideEffect // do I need "=" here??
_ <- async4
} yield ()
cmets 表明我对代码质量的怀疑:
- 在 for 理解中并行执行两个操作的最简洁方法是什么?
- 有没有一种方法可以在没有这么多“_”字符的情况下实现此结果(也没有分配命名引用,至少在 sideEffect 的情况下)
- 最干净、最惯用的方法是什么?
【问题讨论】:
标签: scala