OkHttp的同步和异步请求的实现

时间:2022-08-27 13:54:42

okhttp可以实现请求同步的效果,按照任务发起的顺序执行,并在前一个任务结束后才开启后一个任务;

as下添加如下代码,引入okhttp:

compile ‘com.squareup.okhttp3:okhttp:3.4.1’


同步请求:

private static final String ENDPOINT = "https://api.github.com/repos/square/okhttp/contributors";
OkHttpClient client = new OkHttpClient.Builder().build();
Request request = new Request.Builder()
.url(ENDPOINT)
.build();
Response response = client.newCall(request).execute();
异步请求:
private static final String ENDPOINT = "https://api.github.com/repos/square/okhttp/contributors";OkHttpClient client = new OkHttpClient.Builder().build();Request request = new Request.Builder()        .url(ENDPOINT)        .build();client.newCall(request).enqueue(new Callback() {    @Override    public void onFailure(Call call, IOException e) {    }    @Override    public void onResponse(Call call, Response response) throws IOException {    }});

从以上代码可以看出,同步请求执行的是execute()发方法;而异步执行的是enqueue方法;
参考文章链接:http://blog.csdn.net/angel1hao/article/details/52089712