iT邦幫忙

2023 iThome 鐵人賽

DAY 29
0
Kotlin

new to Kotlin系列 第 29

Day 29 非同步程式技巧(續)

  • 分享至 

  • xImage
  •  

昨天提到了執行緒(Threading)以及回呼(Callbacks)這兩個概念

今天則要繼續提futures以及promises
這概念主要是當我們呼叫時,必然有某個點會返回被稱為Promise的物件

fun postItem(item: Item) {
    preparePostAsync()
        .thenCompose { token ->
            submitPostAsync(token, item)
        }
        .thenAccept { post ->
            processPost(post)
        }

}

fun preparePostAsync(): Promise<Token> {
    return promise
}

需注意的是這個方法有可能需要被修改,這取決於我們如何撰寫程式

  • 不同的程式設計模型
  • 不同的API
  • 特定的返回型別
  • 對於錯誤的處理方式太過於複雜,導致在傳遞或鏈的過程變得沒辦法直觀來思考

上一篇
Day 28 非同步程式技巧
下一篇
Day 30 共常式
系列文
new to Kotlin30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言