JsonChao / Awesome-WanAndroid

:zap:致力于打造一款极致体验的 http://www.wanandroid.com/ 客户端,知识和美是可以并存的哦QAQn(*≧▽≦*)n
Apache License 2.0
2.73k stars 604 forks source link

这个地方为什么添加了两遍拦截器啊 #61

Closed HuixingWong closed 6 years ago

HuixingWong commented 6 years ago

httpmodule类里面 //设置缓存 builder.addNetworkInterceptor(cacheInterceptor); builder.addInterceptor(cacheInterceptor);

JsonChao commented 6 years ago

给应用拦截器和网络拦截器设置相应的拦截器,以下为它们的区别 addInterceptor(应用拦截器):

1,不需要担心中间过程的响应,如重定向和重试.

2,总是只调用一次,即使HTTP响应是从缓存中获取.

3,观察应用程序的初衷. 不关心OkHttp注入的头信息如: If-None-Match.

4,允许短路而不调用 Chain.proceed(),即中止调用.

5,允许重试,使 Chain.proceed()调用多次.

addNetworkInterceptor(网络拦截器):

1,能够操作中间过程的响应,如重定向和重试.

2,当网络短路而返回缓存响应时不被调用.

3,只观察在网络上传输的数据.

4,携带请求来访问连接.

HuixingWong commented 6 years ago

嗯嗯 感谢🙏