相关疑难解决方法(0)

期货/成功竞赛

我正在学习期货,我正在尝试创建一种方法,将两个期货作为参数(fg)并返回成功完成的第一个未来,否则它返回fg.

一些用例来说明我的方法的行为是:

Future 1        | Future 2         | Result
Success First     Success Second     Future 1
Success First     Failure Second     Future 1
Success Second    Success First      Future 2
Success Second    Failure First      Future 1
Failure First     Failure Second     Future 2 (because we had a failure on Future 1, so try to see what is the result Future 2)
Run Code Online (Sandbox Code Playgroud)

所以我创建了这个方法:

def successRace(f: Future[T], g: Future[T]): Future[T] = {
        val p1 = Promise[T]()
        val p2 …
Run Code Online (Sandbox Code Playgroud)

concurrency scala future

5
推荐指数
2
解决办法
1622
查看次数

标签 统计

concurrency ×1

future ×1

scala ×1