Я хочу спросить, возможно ли использовать метод OkHttp enqueue
для получения асинхронного содержимого сайта.
В настоящее время я использую метод execute
для получения содержимого различных API-сайтов (в моем случае это всегда либо JSONObject, либо конкретное значение из возвращенного JSON как String. См. Код ниже для текущего метода).
Теперь я попытался использовать метод enqueue для получения асинхронного содержимого, но у меня нет опыта работы с асинхронными методами, и из-за этого я не знаю решения о том, как (и даже больше, ЕСЛИ) я могу использовать этот метод.
Пример в вики на самом деле не отображается, если вы можете вернуть значения через этот метод.
Текущий метод, который я использую:
public String getImgLink(String endpoint) throws IOException{
Request request = new Request.Builder()
.url("https://example.com/api/" + endpoint)
.build();
// I want to change this to enqueue if possible
Response response = CLIENT.newCall(request).execute();
try(ResponseBody body = response.body()){
if(!response.isSuccessful()) throw new IOException(Unexpected code " + response);
return new JSONObject(Objects.requireNonNull(body).string()).get("url").toString();
}
}