将IgniteFuture转换为Scala Future

将IgniteFuture转换为Scala Future,scala,ignite,Scala,Ignite,是否可以将转换为 我编写了以下代码: class ScalaIgniteFuture[T](future: IgniteFuture[T]) { def toFuture: Future[T] = { val result = Promise[T] future .listen(f => { result.tryComplete(Try{ f.get() }) }) result.fu

是否可以将转换为

我编写了以下代码:

class ScalaIgniteFuture[T](future: IgniteFuture[T]) {
  def toFuture: Future[T] = {
    val result = Promise[T]
    future
      .listen(f => {
        result.tryComplete(Try{
          f.get()
        })
      })

    result.future
  }
}

是否正确?

是的,但是您可以使用
隐式
类模式来扩展API

import scala.util.Try

implicit class IgniteFutureUtils[T](igniteFuture: IgniteFuture[T]) {
 def toScalaFuture = {
   val promise = Promise[T]()
   igniteFuture.listen { k =>
     promise.tryComplete(Try(k.get))
   }
   promise.future
 } 
}

忘记
关键字