我可能缺少對 Kotlin 中的協程和延續的一些基本理解,但我找不到任何關于兩者之間區別的資訊
Continuation<T>.resumeWith(Result.failure(/* some exception */))
// and
Continuation<T>.resumeWithException(/* some exception */)
和同樣的
Continuation<T>.resumeWith(Result.success(/* some value */))
// and
Continuation<T>.resume(/* some value */)
什么時候應該使用哪一個,為什么?
uj5u.com熱心網友回復:
它只需要快速查看源代碼:

是的,你是對的,它完全一樣。唯一的區別是您必須撰寫的代碼量
uj5u.com熱心網友回復:
這一切都歸結為使用Result- 它的主要目的是封裝成功/失敗,因為使用 try/catch 處理(大量)異步呼叫的例外結果變得非常混亂。
您可以閱讀Github 上的原始 Result API Proposal以查看更多示例和創建此 api 的動機。
uj5u.com熱心網友回復:
什么時候應該使用哪一個?
resumeWith(Result<T>)當您已經有一個Result<T>封裝成功結果或失敗的型別的值時,應該使用它。
否則,當您有一個T表示成功繼續的型別值或表示失敗的例外時,分別使用resume和resumeWithException快捷方式更方便。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/418638.html
標籤:
