我正在使用一个密封类从网络返回数据。但是在构建项目时,我遇到了以下错误:
类型推断失败:在fun error(errorMessage: String, error: Throwable): State中无法推断出参数T的足够信息,请明确指定。
我漏掉了什么?
以下是代码:
suspend fun getdataFromApi(context: Context?, token: String?): State<ScheduleReminderListResponse> =
withContext(schedulerProvider.io)
{
try {
val list = network.getScheduleReminderList(token).await()
schedeleReminderListLocalDao.insertAll(list)
return@withContext State.success(list)
} catch (e: Exception) {
return@withContext State.error( e.message ?: "Unknown Error", e )
}
}
sealed class State<T> {
class Loading<T>: State<T>()
data class Error<T>(val errorMessage: String?, val error: Throwable): State<T>()
data class Success<T>(var data: T) : State<T>()
companion object {
fun <T> loading(): State<T> =
Loading()
fun <T> error(errorMessage: String, error: Throwable): State<T> =
Error(errorMessage, error)
fun <T> success(data: T): State<T> =
Success(data)
}
}