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");
}
});
});