作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 Activity 中有两个查询,想知道它们是一个接一个执行还是同时执行,因为第二个查询返回一个空列表。在我的第一个查询中,我使用 objectId 检索 ParseObject,然后将其设置为类变量。在我的第二个查询中,我使用设置的 ParseObject 来查找“Answers”类中的所有对象(“Question”是指向 Question“类中的对象的指针)。但是,第二个查询似乎已经开始这样它会返回一个空的对象列表,因为第一个查询中的 ParseObject 尚未设置。我该如何让查询一个接一个地运行,以便首先设置变量?或者是否有另一种方法来解决这个问题?
ParseObject question;
ParseQuery<ParseObject> query = ParseQuery.getQuery("Question");
query.getInBackground(questionId, new GetCallback<ParseObject>() {
@Override
public void done(ParseObject object, ParseException e) {
if(e==null){
question = object;
} else {
System.out.println(e);
}
}
});
ParseQuery<ParseObject> answerQuery = ParseQuery.getQuery("Answers");
answerQuery.whereEqualTo("Question", question);
answerQuery.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> answers, ParseException e) {
if(e==null){
} else {
System.out.println(e);
}
}
});
最佳答案
是的,这是在后台线程中完成的。您需要使 answerQuery
查找依赖于 question
查找的完成。您可以创建另一种方法来执行答案查找,如下所示。
ParseQuery<ParseObject> query = ParseQuery.getQuery("Question");
query.getInBackground(questionId, new GetCallback<ParseObject>() {
@Override
public void done(ParseObject object, ParseException e) {
if(e==null){
queryAnswers(object);
} else {
System.out.println(e);
}
}
});
private void queryAnswers(ParseObject question) {
ParseQuery<ParseObject> answerQuery = ParseQuery.getQuery("Answers");
answerQuery.whereEqualTo("Question", question);
answerQuery.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> answers, ParseException e) {
if(e==null){
// do what you want with the answers...
} else {
System.out.println(e);
}
}
});
}
关于java - 检索对象时,Parse 查询是依次运行还是同时运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34846261/
我不知道如何描述这一点。我在一个页面上有几个 div,类似于: some lorem ipsum text here Macbeth s
我是一名优秀的程序员,十分优秀!