Scala 如何组合多个com.twitter.util.Awaitable';选择语义?

Scala 如何组合多个com.twitter.util.Awaitable';选择语义?,scala,finagle,twitter-util,Scala,Finagle,Twitter Util,在服务中,我有一个main方法,它启动com.twitter.finagle.ListingServer,还创建一个自定义“通道”,返回一个永远不会完成的com.twitter.util.Future(除非有错误)。这两个实例实际上都是com.twitter.util.Awaitable实例,如果其中一个完成,我想关闭我的服务 如果两者都是com.twitter.util.Futures,我可以使用Future.select来选择完成的第一个未来,所以现在我正在使用pool{wait.resul

在服务中,我有一个main方法,它启动
com.twitter.finagle.ListingServer
,还创建一个自定义“通道”,返回一个永远不会完成的
com.twitter.util.Future
(除非有错误)。这两个实例实际上都是
com.twitter.util.Awaitable
实例,如果其中一个完成,我想关闭我的服务

如果两者都是
com.twitter.util.Future
s,我可以使用
Future.select
来选择完成的第一个未来,所以现在我正在使用
pool{wait.result(ListeningServer)}
com.twitter.util.Future
转换为
com.twitter.util.Future


有没有更好的方法来解决我的问题?

出于好奇,你为什么更喜欢
com.twitter.util.Future
而不是
scala.concurrent.Future
?我不喜欢它,但如果你使用Finagle,它是围绕
com.twitter.util.Future
构建的,出于好奇,你为什么喜欢
com.twitter.util.Future
而不喜欢
scala.concurrent.Future
?我不喜欢它,但如果你使用Finagle,它是围绕
com.twitter.util.Future