Я анализирую модернизацию на Android, и у меня возник вопрос об обратных вызовах и их неиспользовании. У меня сложилось впечатление, что обратные вызовы используются только для успешных и неудачных ответов, которые может пожелать клиент. В противном случае я бы пропустил это. Вот пример модифицированного интерфейса без обратного вызова:
public interface GitHubService {
@GET("/users/{user}/repos")
List<Repo> listRepos(@Path("user") String user);
}
и вот пример с обратным вызовом (надеюсь, я правильно понял):
public interface GitHubService {
@GET("/users/{user}/repos")
List<Repo> listRepos(@Path("user") String user,Callback<Repo> cb);
}
Меня смущают две вещи:
Возвращаемое значение в интерфейсе — это список, но для меня оно должно быть недействительным, потому что модификация будет использовать gson для преобразования ответа json в POJO репо. Все, что мне нужно сделать, это создать Repo POJO, поэтому я ожидаю, что последний фрагмент кода будет таким:
открытый интерфейс GitHubService {
@GET("/пользователи/{пользователь}/репо")
void listRepos(@Path("user") String user,Callback cb); }
Какова цель возвращаемого значения?
- мой второй вопрос: нужен ли обратный вызов только для того, чтобы узнать, был ли запрос успешным или неудачным, как я вижу из документов, у обратного вызова есть два метода: сбой и успех.