gpt4 book ai didi

java - 如何使用 Volley 获取并等待来自多个 url 的数据

转载 作者:行者123 更新时间:2023-12-02 03:27:43 26 4
gpt4 key购买 nike

在我的应用程序中,功能如下:

  1. 首先我正在创建 JsonObjectRequest使用 Volley 。这会返回 JSON 数据。这里我用了this回调技术,以确保我收到响应,然后进一步处理它。

  2. 从上面 (1) 收到的 JSON 数据中,我获得了多个 URL,我需要从中获取更多数据。在上面第一个请求 (1) 的 onResponse 中,我调用一个方法来创建新的请求队列,并为所有这些单独的 URL 创建请求并将其添加到同一队列中。我的最终目标是在获得这一步的所有数据(即多个 URL)后显示数据。

发生了什么:我能够从上面的 (1) 获取数据并正确显示,但它不会等待从上面的步骤 (2) 下载数据。我想我无法将 (2) 中的请求添加到 (1) 的请求队列中,因为首先我需要请求 1 中的 url 来在请求 2 中处理。

我如何在我的应用程序中等待步骤 (2) 的数据下载完成?

enter image description here

如果问题不清楚,请告诉我。我会尝试添加更多详细信息。

最佳答案

您可以尝试其中之一...

  1. 检查 Volley - http request in blocking way如果您想处理 RequestFuture 对象。
  2. 维护一个计数器,一旦所有请求完成并且计数器设置为所需值,您就可以进一步处理。如下所示:

不确定您是否喜欢这个,但这只是一个想法。

call("url", callback(){
++counter;
if(counter == DESIRED_VALUE )
displayData();
});

计数器是一个 AtomicInteger

关于java - 如何使用 Volley 获取并等待来自多个 url 的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38586690/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com