bsimmons
Deferred<T>
private val notesDeferred = HashMap<String, Deferred<Resource<String>>>() suspend fun getNotes(id: String): Resource<String>{ if(notesDeferred.containsKey(id) && notesDeferred.get(id)!!.isActive){ return notesDeferred.get(id)!!.await() } else { val newRequest = GlobalScope.async { remoteSource.getNotes(id) } notesDeferred.put(id, newRequest) return newRequest.await() } }
wcaokaze
async
await
.isActive
A modern programming language that makes developers happier.