所以我有一个Trip
类和一个类Place
,它们都扩展ParseObject
并且在它们之间具有多对多的关系。所以我使用的ParseRelation
是这样的:
Trip trip = ...
Place place = ...
trip.getRelation('place_relation').add(place);
trip.saveEventually();
然后,稍后我会像这样获取这些地方:
final ArrayList<Place> places;
ParseRelation<Place> placeParseRelation = trip.getRelation("place_relation");
ParseQuery<Place> placeParseQuery = placeParseRelation.getQuery();
placeParseQuery.findInBackground(new FindCallback<Place>() {
@Override
public void done(List<Place> objects, ParseException e) {
if (e != null) {
...
} else {
places = (ArrayList<Place>) objects;
}
}
});
我意识到,因为我正在使用saveEventually()
它,在将它写入数据库和从数据库获取之间可能存在延迟,但实际上它应该小于 1 秒才能正确保存。但是我发现Places
在查询中返回之前最多可能需要 5 分钟。结果显示需要多长时间变化很大,有时几乎是即时的,就像我提到的那样,有时可能是几分钟。我正在使用新的 GenyMotion 模拟器进行快速互联网连接。
任何想法为什么会发生这种情况?