我正在使用 Back4App(Parse) 构建一个应用程序。
我有两张桌子邮政和媒体。我必须获取与 post_id 对应的媒体(单个或多个)。
所以,我使用以下方法:首先,我从 Post 表中获取所有帖子并保存在 ArrayList 中。然后使用 for 循环,我从 ArrayList 中获取特定的 post_id 并将其发送到媒体查询以查找该 post_id 的媒体。
但是,我的问题是查询是异步的,因此 for 循环在查询之前运行,查询结果稍后获取。for 循环在查询之前运行,直到 ArrayList 大小。我该如何纠正这个问题。
我正在使用以下方法:
for (int i = 0; i < listUserPosts.size(); i++) {
String postId = listUserPosts.get(i).getPostId();
ParseQuery<ParseObject> query = ParseQuery.getQuery("Media");
query.whereEqualTo("post_id", postId);
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> objects, ParseException e) {
if (objects.size() > 0) {
for (int j = 0; j < objects.size(); j++)
{
ParseObject parseObject = objects.get(j);
//fetching data from parseObject
}
}
}
});
任何帮助将不胜感激。