gpt4 book ai didi

scala - 从 future 链初始化的值

转载 作者:行者123 更新时间:2023-12-04 23:06:14 24 4
gpt4 key购买 nike

考虑以下代码片段:

class MyClass {
var a = _
var b = _
...
var y = _

val z = (for {
a0 <- someMethodReturningFuture
b0 <- someMethodReturningFuture(a0)
...
z0 <- someMethodReturningFuture(y0)
} yield {
a = a0
b = b0
...
y = y0
someCalculation(y)
}).result
}

是否可以执行这样的初始化但使用 val s 而不是 var s(不知何故)?关键是,我不想阻塞并等待每个中间结果,只是为了最后一个。

最佳答案

除非你有超过 22 个变量:

val (a, b, c, d, ..., v) = (for {
a0 <- someMethodReturningFuture
b0 <- someMethodReturningFuture(a0)
...
u0 <- someMethodReturningFuture(t0)
} yield {
(a0, b0, ..., u0, someCalculation(u0))
}).result

关于scala - 从 future 链初始化的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11500620/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com