私の課題は、最初のクエリの結果を 2 番目のクエリの入力として使用して、1 つのクエリを別のクエリの前に実行する必要があることです。
var adList = [];
query.find({
success: function(results) {
for (var i=0; i<results.length; i++){
var ad = [];
ad.push(results[i].get("Type")); //Adds "Type" to the ad array
objectIDArray.push(results[i].id);
}
},
error: function(){
response.error("failed");
}
});
//second query
var locations = Parse.Object.extend("Locations");
query2.include("locationID");
query2.containedIn("campaignIDString", objectIDArray);
query2.find({
success: function(results){
locations = results2[0].get("locationID");
adList.push(locations.get("CITY"));
adList.push(locations.get("PROVINCE"));
adList.push(locations.get("STORE_ADDRESS"));
response.success(adList);
}, error: function(){
response.error("failed to get a response");
}
});
ご覧のとおり、2 番目のクエリでは、最初のクエリによって入力された objectIDArray が必要です。これを実行すると、両方のクエリが並行して発生しているように見えるため、2 番目のクエリで常に null の結果が得られます。いずれにせよ、私が望んでいたように、それらは順番に発生しません。最初のクエリの後に 2 番目のクエリを実行するにはどうすればよいですか? プロミスを使用しますか?
例を挙げていただけますか。ドキュメントの形がよくわかりませんでした