如何从 Kotlin 协程返回值
原创
©著作权归作者所有:来自51CTO博客作者mp624183768的原创作品,请联系作者获取转载授权,否则将追究法律责任
package com.example.test_compose.ui
import android.util.Log
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.async
import kotlinx.coroutines.delay
@OptIn(ExperimentalCoroutinesApi::class)
class MainViewModel : ViewModel() {
private val TAG = "MainViewModel"
init {
val result = viewModelScope.async {
delay(3000)
true
}
result.invokeOnCompletion {
if (it == null) {
Log.e(TAG, "init:${result.getCompleted()} ")
}
}
}
}
过3s 会返回true