Scala kotlin中是否有Future.sequence模拟?
在scala中,您可以将未来集合“映射”到集合的未来,如下所示:Scala kotlin中是否有Future.sequence模拟?,scala,kotlin,future,completable-future,Scala,Kotlin,Future,Completable Future,在scala中,您可以将未来集合“映射”到集合的未来,如下所示: val l: List[Future[String]] = List(Future {"1"}, Future {"2"}) val x: Future[List[String]] = Future.sequence(l) 如何使用kotlin实现相同的功能?假设您使用协同程序: val l: List<Deferred<String>> = (1..2).map {i -> async(Unc
val l: List[Future[String]] = List(Future {"1"}, Future {"2"})
val x: Future[List[String]] = Future.sequence(l)
如何使用kotlin实现相同的功能?假设您使用协同程序:
val l: List<Deferred<String>> = (1..2).map {i -> async(Unconfined){ "$i" }}
val x: Deffered<List<String>> = async(Unconfined) { l.map {it.await()} }
vall:List=(1..2).map{i->async(未定义){“$i”}
val x:Deffered=async(未定义){l.map{it.await()}
假设您使用协同程序:
val l: List<Deferred<String>> = (1..2).map {i -> async(Unconfined){ "$i" }}
val x: Deffered<List<String>> = async(Unconfined) { l.map {it.await()} }
vall:List=(1..2).map{i->async(未定义){“$i”}
val x:Deffered=async(未定义){l.map{it.await()}
如果由于Java互操作而必须使用CompletebleFuture
,则可以使用几乎相同的代码将List
转换为CompletebleFuture
,只需将async
builder替换为future
builder fromkotlinx-coroutines-jdk8
如果由于Java互操作而必须使用CompletableFuture
,则可以使用几乎相同的代码将List
转换为CompletableFuture
,只需将async
builder替换为kotlinx-coroutines-jdk8
中的future
builder,向下投票时请发表评论。向下投票时请发表评论。