iT邦幫忙

2023 iThome 鐵人賽

DAY 28
0
Kotlin

new to Kotlin系列 第 28

Day 28 非同步程式技巧

  • 分享至 

  • xImage
  •  

在過去許多年間,做為開發者需要注意程式阻擋問題
因此發展了以下幾個方法來解決問題

  • 執行緒(Threading)
    須注意的是執行緒並不便宜、永久、容易取得
fun postItem(item: Item) {
    val token = preparePost()
    val post = submitPost(token, item)
    processPost(post)
}

fun preparePost(): Token {
    return token
}
  • 回呼(Callbacks)
    回呼概念上就是將一個函式做為另一個函式的輸入
fun postItem(item: Item) {
    preparePostAsync { token ->
        submitPostAsync(token, item) { post ->
            processPost(post)
        }
    }
}

fun preparePostAsync(callback: (Token) -> Unit) {
    // make request and return immediately
    // arrange callback to be invoked later
}

上一篇
Day 27 相等性以及this表達式
下一篇
Day 29 非同步程式技巧(續)
系列文
new to Kotlin30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言