Weibo
我看了下你的KJHttp这个类的实现,当这个类实例化的时候,启动了两个线程,一个是去读取`cacheQueue`来做分发,另一个去读取networkQueue来做分发,NetworkDispatcher没有问题,请求完成之后,判断这个请求是否已经被标记为delivered,因为有可能这个请求已经在cacheQueue中被处理了。但是反过来,CacheDispatcher并没有类似的处理,一般情况下,当然CacheDispatcher处理要比NetworkDispatcher要快,所以不用这个也问题不大,但是是否存在某些特殊情况,导致CacheDispatcher处理慢于NetworkDispatcher,这种情况下,是否会出现两次请求返回?
当点击activity上的一个按钮,发送网络请求,在网络比较慢的情况下,用户可能会继续去点击按钮,这个时候,发送其他无谓的请求,不知道大家是怎么处理这类问题来拦截? 目前的想法是,用户点击了按钮发送网络请求之后,设置一个isProcessing的变量为true,当网络回调返回的时候,isProcessing = false; 点击按钮之后,如果isProcessing == true, 则直接return; 这种方法应该是没有问题的,但是涉及到改动的地方比较大,不知道有没有更加智能的方法,来个全局控制。