elizarov
02/08/2017, 7:36 PMkotlinx.coroutines
, even though they are experimental. Let me float an idea. The functionality of defer {...} .await()
is very similar to C#/JS/Dart `async`/`await` pair. The key difference is that in C# it returns Task
, in JS it returns Promise
, in Dart it returns Future
, and in Kotlin it returns Deferred
. So, the idea is to rename defer
to async
to fall in line with everybody else on this one aspect. Naming it async
also makes writing async-style functions somewhat more natural:
// runs the code in the background thread pool
fun asyncOverlay() = async(CommonPool) {
// start two async operations
val original = asyncLoadImage("original")
val overlay = asyncLoadImage("overlay")
// and then apply overlay to both results
applyOverlay(original.await(), overlay.await())
}
What do you think? Shall we name it async
?