问题:
在HTTPDNS iOS/Android平台,使用getIpByHostAsync异步查询获取IP的接口时, 官方Demo是延时1s再次查询, 如果1s之后再次发起查询而前一次查询结果还没有返回,此时该如何处理?
解答:
异步解析接口,首先会查询缓存,然后才异步域名解析更新缓存。
如果1s之后再发起查询而前一次查询结果还没返回,则会返回null,即没有查询到结果,然后会走降级逻辑。
异步接口不阻塞调用线程,立即返回结果:
有缓存,返回解析结果。
没有缓存,返回null并触发异步解析动作,另起新的线程发起解析网络请求。
说明异步接口具体回调的时机没有给出,这个需要搭配降级机制来做,在异步接口返回null时,使用降级策略,在能返回IP时才使用IP,两者搭配使用才能达到最优效果。
文档内容是否对您有帮助?