:
function pobierzOcene(id){
var q = new Parse.Query("Ocena");
q.equalTo("objectId",id);
return q.first(); // return a promise to wait on
}
は次のように関数を呼び出します学生とその属性のリスト(名前、姓、ID、度)。ベース: 生徒0は3度です。 生徒1には学位がありません。 生徒2は4度です。
My機能:
function DownloadList(){
var query = new Parse.Query(Parse.Object.extend("Groups"));
var Students;
var degree = new Degree();
query.equalTo("objectId",GroupId);
query.include("listStudents");
query.include("degree");
query.include("StudentDegrees");
query.include("SubjectDegree");
query.first({
success:function(res){
var degree = res.get("Degree").id;
var listOfStudents = res.get("listStudents");
Students = new Array();
for (var i=0; i<listOfStudents.length ; i++){
student = new Student();
student.name = listOfStudents[i].get("name");
student.surname = listOfStudents[i].get("surname");
student.index = listOfStudents[i].get("index");
student.objectId = listOfStudents[i].id;
var degrees = listOfStudents[i].get("StudentDegrees");
for (var j in degrees){
takeADegree(degrees[j].id).then(function(result){
var degree = new Degree();
degree.subject = result.get("SubjectDegree");
if (subject == degree.subject.id){
degree.date = result.createdAt;
degree.weight = result.get("degreeWeight");
degree.value = result.get("degreeValue");
student.AddDegree(degree);
}
},
function(error){
console.log(error);
});
}
Students.push(student);
}
console.log(Students);
},
error:function(err){
console.log(err.message);
}
});
}
および機能takeADegree(ID):絵で
function takeADegree(id){
var q = new Parse.Query("Degree");
q.equalTo("objectId",id);
return q.first();
}
関数の結果:矢印で示す
フィールド(oceny -degrees)は次のようになります。 学生0 = oceny:Array [3]、 学生1 = oceny:配列[0]、 学生2 = oceny:配列[4]。 今どこに問題がありますか?
ありがとうございます。私はパーズ関数の非同期性についてはわかりません、あなたは私に教えてください、どのように動作するのですか? parse.promiseでデータを取得するにはどうすればよいですか? –
私はあなたに上記の例を与えました。詳細については、Parseのドキュメントを参照してください。https://www.parse.com/docs/js/guide#promises –
上記の機能がどのように機能するかをポイントツーポイントで教えてください。私の知っているとおり: 1.関数pobierzOceneを開始します。 2.関数pobierzOceneが結果を待っているときに、クエリを実行してオブジェクトを見つけ、q.first()を返します。結果は、 "" "と私はこのデータに取り組んでいます。 わかっていますか? –