bdawg.io
02/21/2018, 7:43 PM/ -- [ Job A ] -- \
---- ---- [ Job C ]
\ -- [ Job B ] -- /
dsgryazin
02/21/2018, 7:47 PM.join()
on A and B, no?elizarov
02/21/2018, 7:51 PMval a = launch { doJobA() }
val b = launch { doJobB() }
launch {
a.join()
b.join()
doJobC()
}
bdawg.io
02/21/2018, 7:54 PMfun launchOnComplete(
vararg jobs: Job,
context: CoroutineContext = DefaultDispatcher,
start: CoroutineStart = CoroutineStart.DEFAULT,
parent: Job? = null,
block: suspend CoroutineScope.() -> Unit
) = launch {
jobs.forEach { it.join() }
launch(context, start, parent, block).join()
}
dsgryazin
02/21/2018, 7:58 PMInterable
of `Job`sjw
02/21/2018, 8:01 PMdsgryazin
02/21/2018, 8:02 PMdsgryazin
02/21/2018, 8:06 PMThreadPoolDispatcher.kt
elizarov
02/21/2018, 8:16 PMdsgryazin
02/21/2018, 8:20 PMdsgryazin
02/21/2018, 8:22 PMautocompletion-driven-development
anyway=)