0

我刚刚用 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 {

        }
    });
4

2 回答 2

2
  • 回调用于异步调用,在这种情况下,它会在 onsuccess 中将网络调用的结果返回给 url(Json/Xml 数据),或者如果有错误 onfailure 将被调用。

  • 错误可能是连接未通过或连接超时、响应超时、资源/地址无效等。

于 2016-04-15T14:50:54.133 回答
0

您使用了enqueue,这已将请求与任何其他请求一起放入队列中。它与 dobackground 相同,将其从主线程中移除并允许其他操作继续

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

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

于 2018-12-30T18:12:53.597 回答