我在通过 Cloud Code 中的 javascript SDK 查询 Parse 时遇到问题。我有一个名为“Stack”和“StackUser”的类。一切正常,直到我查询“堆栈”。我正在使用与查询“StackUser”完全相同的语法。我正在使用 get 方法来获取带有 id 的堆栈对象。我通过登录控制台确认stackpointer.id
确实是一个正确的 id。
但是,此函数永远不会进入该queryStack.get(stackPointer.id {
行。我已经确认对象 stackPointer 具有正确的信息,并且也是如此stackPointer.id
。我还确认控制流进入了 for 循环。但是,它没有进入上述行。
请帮帮我。我究竟做错了什么?谢谢!
Parse.Cloud.define("getStacksForUser", function(request, response) {
console.log(request);
console.log(response);
var StackUser = Parse.Object.extend("StackUser");
var queryStackUser = new Parse.Query(StackUser);
queryStackUser.equalTo("user", request.user);
console.log("BEFORE FIND")
queryStackUser.find({
success: function(results) {
console.log("DO WE HAVE RESULTS");
console.log(results);
var Stack = Parse.Object.extend("Stack");
var queryStack = new Parse.Query(Stack);
console.log("BEFORE LOOP");
var stackarray = new Array();
for (var i = 0; i < results.length; ++i) {
var stackPointer = results[i].get("stack");
queryStack.get(stackPointer.id, {
success: function(stack) {
console.log("STACK")
console.log(stack);
stackarray.push(stack);
},
error: function(object, error) {
console.log("ERROR!!!");
response.error("retrieving a stack failed");
}
});
}
console.log("RESULT TIME");
console.log(stackarray);
response.success(stackarray);
},
error: function() {
response.error("retrieving stacks failed");
}
});
});