2016-12-30 140 views
2

我分配标签OkHttp请求一样,OkHttp3多个请求标签

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

,我可以使用

public static void cancel(Object tag) { 
    for (Call call : getClient().dispatcher().queuedCalls()) { 
     if (tag.equals(call.request().tag())) call.cancel(); 
    } 
    for (Call call : getClient().dispatcher().runningCalls()) { 
     if (tag.equals(call.request().tag())) call.cancel(); 
    } 
} 

取消由特定的要求,但如何分配多个标签要求,因为我必须跟踪请求,如果有任何请求超时,那么我必须取消相关标记请求。

任何想法?

+0

您是否找到了解决方案? – tbag

回答

1

将您的应用程序更改为始终使用Set作为其代码。在取消代码中,你需要沮丧。

+0

我和OP有类似的问题。你能否详细解释你的答案? – tbag