我怎么知道OkHttp调用我从
问题描述:
返回我有一个活动,实现okhttp3.Callback并覆盖onFailure和onResume方法。 有多种不同的请求被称为本次活动,类似这样:我怎么知道OkHttp调用我从
Request request1 = RequestBuilder.login(username,password);
okHttpClient.newCall(request1).enqueue(this);
Request request2 = RequestBuilder.getData(token);
okHttpClient.newCall(request2).enqueue(this);
我怎么能知道我从onResponse方法request1或请求2回,因为反应需要为每个不同的处理请求?
答
选项1:在onResponse(Response response)
使用response.request()
得到RequestObject
并与您的比较。
选项2:对于所述第二请求并再次
okHttpClient.newCall(request1).enqueue(new Callback() {
@Override
public void onFailure(Request request, Throwable throwable) {
...
}
@Override
public void onResponse(Response response) throws IOException {
...
}
});
:代替this
,使用匿名类,像这样
okHttpClient.newCall(request2).enqueue(new Callback() {
@Override
public void onFailure(Request request, Throwable throwable) {
...
}
@Override
public void onResponse(Response response) throws IOException {
...
}
});
什么'Callback'用于'排队()'方法?你试过了吗? – Pijotrek