Marharyta Nedzelska
05/03/2018, 7:41 AMdiesieben07
05/03/2018, 7:43 AMval deferred = async { future.await() }
Vsevolod Tolstopyatov [JB]
05/03/2018, 8:30 AMfun <T> ListenableFuture<T>.toDeferred(): Deferred<T?> {
val deferred = CompletableDeferred<T?>()
Futures.addCallback(this, object : FutureCallback<T> {
override fun onSuccess(result: T?) {
deferred.complete(result)
}
override fun onFailure(t: Throwable?) {
deferred.completeExceptionally(t!!)
}
} )
return deferred
}
to avoid unnecessary launch (~context switch)Marharyta Nedzelska
05/03/2018, 10:45 AMenleur
05/03/2018, 12:06 PM