android 为什么我们在OKhttp的enqueue方法中使用Callback response

Why we use Callback response in enqueue method of OKhttp in android

我刚刚用 Okhttp 做了一个简单的 JSON 解析程序现在什么是 OKhttp 响应中的回调以及我们为什么使用它?

OkHttpClient okHttpClient=new OkHttpClient();

    Request request=new Request.Builder().url(url).build();

  okHttpClient.newCall(request).enqueue(new Callback() {
        @Override
        public void onFailure(Call call, IOException e) {

        }

        @Override
        public void onResponse(Call call, Response response) throws IOException {

        }
    });
  • 回调用于异步调用,在这种情况下,它会 return 您对 url(Json/Xml 数据的网络调用的结果在 onsuccess 或有错误时会调用 onfailure。

  • 错误可能是连接未通过或连接超时、响应超时、resource/address无效等

您已使用 enqueue,这已将请求与其他请求一起放入队列中。和dobackground一样,脱离Mainthread,让其他动作继续

回调是必需的,以便当网站有响应时,它知道使用了哪个请求并通过回调传回数据。

https://square.github.io/okhttp/3.x/okhttp/okhttp3/Callback.html