sdeleuze
09/24/2019, 2:46 PMprivate
property with a suspending function return value (suspending supplier, pretty common when dealing with network)? Should I use lateinit var
? Nullable var
? Is something like suspend init { }
planned at some point?Adam Powell
09/24/2019, 4:40 PMsdeleuze
09/25/2019, 7:16 AM// Connect asynchronously and use `requester()` to get the requester
class MyService {
private var requester: RSocketRequester? = null
private suspend fun requester() = requester ?:
RSocketRequester.builder().connectTcp("localhost", 7000).also { requester = it }
suspend fun doSomething() = requester().route(...)
}
// Or block
class MyService {
private val requester: RSocketRequester = runBlocking {
RSocketRequester.builder().connectTcp("localhost", 7000)
}
suspend fun doSomething() = requester.route(...)
}
Dico
09/26/2019, 2:56 AMDeferred
or CompletableDeferred