Skip to content

Instantly share code, notes, and snippets.

@dmytrodanylyk
Last active October 10, 2017 04:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dmytrodanylyk/e9df705f02e08d6dcfe390134d72cbe8 to your computer and use it in GitHub Desktop.
Save dmytrodanylyk/e9df705f02e08d6dcfe390134d72cbe8 to your computer and use it in GitHub Desktop.
var job: Job? = null
fun startPresenting() {
job = loadData()
}
fun stopPresenting() {
job?.cancel()
}
private fun loadData() = launch(uiContext) {
view.showLoading() // ui thread
val task = async(bgContext) { dataProvider.loadData("Task") }
val result = task.await() // non ui thread, suspend until finished
view.showData(result) // ui thread
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment