kotlin中將回撥改寫為協程
我們可以將Guava的FutureCallback改造為掛起函式:
suspend fun <T> Future<T>.await(): T = suspendCoroutine {
Futures.addCallback(this, object: FutureCallback<T> {
override fun onSuccess(result: T?) {
if (result != null) {
it.resumeWith(Result.success(result))
}
}
override fun onFailure(t: Throwable) {
it.resumeWithException(t)
}
})
}
esumeWith傳遞執行結果,resumeWithExeption傳遞異常。
相關文章
- rxjava回撥地獄-kotlin協程來幫忙RxJavaKotlin
- [譯] 使用 Kotlin 協程改進應用效能Kotlin
- 【Kotlin】協程Kotlin
- 用Kotlin實現極簡回撥Kotlin
- Kotlin Coroutine(協程): 二、初識協程Kotlin
- Kotlin Coroutine(協程): 三、瞭解協程Kotlin
- 如何讓你的回撥更具Kotlin風味Kotlin
- Android Kotlin 協程初探AndroidKotlin
- Kotlin 協程一 —— CoroutineKotlin
- 在 Android 開發中使用 Kotlin 協程 (一) -- 初識 Kotlin 協程AndroidKotlin
- Android版kotlin協程入門(四):kotlin協程開發實戰AndroidKotlin
- Android版kotlin協程入門(三):kotlin協程的異常處理AndroidKotlin
- Kotlin Coroutine(協程)簡介Kotlin
- Kotlin Coroutines(協程)講解Kotlin
- Kotlin協程快速進階Kotlin
- Kotlin協程快速入門Kotlin
- Android Kotlin協程入門AndroidKotlin
- 在Dash中更靈活地編寫回撥函式函式
- Kotlin coroutine之協程基礎Kotlin
- Kotlin Coroutine(協程) 基本知識Kotlin
- Kotlin(android)協程中文翻譯KotlinAndroid
- Kotlin協程學習之路【一】Kotlin
- kotlin協程的掛起suspendKotlin
- 【譯】kotlin 協程官方文件(1)-協程基礎(Coroutine Basics)Kotlin
- 深究Python中的asyncio庫-函式的回撥與排程Python函式
- Android版 kotlin協程入門(二):kotlin協程的關鍵知識點初步講解AndroidKotlin
- springboot啟動過程中常用的回撥Spring Boot
- [譯] Kotlin 協程高階使用技巧Kotlin
- Kotlin 1.4.0-RC協程除錯Kotlin除錯
- 【譯】使用kotlin協程提高app效能KotlinAPP
- 回撥地獄-編寫非同步JavaScript指南非同步JavaScript
- Swoole 協程 MySQL 客戶端與非同步回撥 MySQL 客戶端的對比MySql客戶端非同步
- [JS]回撥函式和回撥地獄JS函式
- 回撥方法
- 真香!Kotlin+MVVM+LiveData+協程 打造 Wanandroid!KotlinMVVMLiveDataNaNAndroid
- 扒一扒Kotlin協程的底褲Kotlin
- 揭開Kotlin協程的神秘面紗Kotlin
- 【譯】kotlin 協程官方文件(6)-通道(Channels)Kotlin