多个AsyncHttpClient请求完成时收到通知

时间:2016-01-31 10:59:22

标签: android loopj

我正在使用Loopj的android异步http客户端。 我所拥有的是一个for循环,它为Web服务创建多个异步http请求。

当所有这些都完成后,有没有办法得到通知?

3 个答案:

答案 0 :(得分:1)

因为http://loopj.com/android-async-http/可以以静态方式使用。 你可以做的是,每当你创建一个请求时,你都会添加一个静态变量,每当你得到响应时(包括两个场景onsucess / onfailure,将静态变量减少1)。 当变量再次为0时,做你的东西。

答案 1 :(得分:1)

您可以通过事件总线监听器来完成。在请求的最终状态中,您可以向要通知的所有订阅者发送事件。检查以下事件总线的实现:

但这一切都取决于你的代码。如果您知道将发送多少个请求,那么很容易订阅每个异步请求的所有事件,您可以检查是否全部完成。如果您之前不知道请求的数量,那么您可以创建一个逻辑来保持每个请求的状态,然后发送事件以通知您想要的订户

答案 2 :(得分:0)

不确定这是否正是您想要的,但它可能是一个很好的解决方案。你可以使用“获取”属性。 描述是: “如果有必要等待计算完成,然后检索其结果。”

由于您在循环中使用它,您可能希望将结果添加到列表或其他内容。