inferred type is Result<Any?> but Result<T> was expected
return@withContext if (response.code == 0) Result.Success(response) else Result.Warning(response.info, response)
а если throwable?
не понял, у вас же throwable обработано
Даже если я сделаю так, то ошибка останется прежней Type inference failed. Expected type mismatch: inferred type is Result<Any?> but Result<T> was expected
val response = apiCall.invoke() что возвращает?
Объект из retrofit, по сути ответ от сервера Он может быть с кодом 0 = успех, либо другой, для вывода определенной серверной ошибки. А также он может быть Exception. если мы что-ниубдь сломаем по пути
а где ...Default): ResultContainer<T>? { ...
дал котлину самому разрулить, неявно
Ну тогда оно заработало)
Братан))) ну вот явное возвращение))
Проблема была именно в BaseResponse, а не в чём-то другом Всё заработало из-за того, что я убрал явный каст к Result<T>. Но на самом деле нужно было указать что успешный ответ должен быть наследником BaseResponse, такие дела
Че то кастов у вас там дофига, я в вашем контексте не знаю че такое BaseResponse, по этому ответ получился таким, каким получился, но Unchecked cast тоже не есть хорошо где as T
Пока не проверял, но на вид это именно то, что должно быть. Сил больше нет на это смотреть))
А как выглядит BaseResponse?
Там дополнительные поля для ответа, code и info. Все объекты ответа наследуются от него
Обсуждают сегодня