Skip to content

Instantly share code, notes, and snippets.

@le0nidas
Last active February 22, 2021 21:26
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 le0nidas/aa6a6046cd3d5d0852514646d4d3c8d9 to your computer and use it in GitHub Desktop.
Save le0nidas/aa6a6046cd3d5d0852514646d4d3c8d9 to your computer and use it in GitHub Desktop.
class State(
var label: Int = 0,
var result: Any? = null
)
fun saveUserTasks(userId: Int, state: State) {
when (state.label) {
0 -> {
val user = loadUser(userId)
println("user loaded")
state.result = user
// pause execution
}
1 -> {
// resume execution
val user = state.result as User
val tasks = loadTasks(user)
println("tasks loaded")
state.result = tasks
// pause execution
}
2 -> {
// resume execution
val tasks = state.result as List<Task>
saveTasks(tasks)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment