昨天以及前天我們介紹了幾個非同步程式開發技巧
但在Kotlin中處理非同步程式則是使用共常式(Coroutines)
共常式,概念上即可被暫停的計算
換句話說函式可在某個執行位置被暫停並可在稍後回復
如以下這個例子,preparePost被稱為可停止的函式(suspendable function)
正如字面意思,當執行時會先暫停,並在一段時間後回復暫停時的狀態
fun postItem(item: Item) {
launch {
val token = preparePost()
val post = submitPost(token, item)
processPost(post)
}
}
suspend fun preparePost(): Token {
return suspendCoroutine { /* ... */ }
}