클라우드 코드의 javascript SDK를 통해 구문 분석을 쿼리하는 데 문제가 있습니다. "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");
}
});
});