I am actually passing two lists(existingLeaderboard and newResultSetObj) and i am comparing and querying them according to some logic. In the last i want to send notification to each user according to logic. But somehow my code does not wait for the find query(console log never shows up in the logs).Here is the code -
function compareAndSendNotification(existingLeaderboard, newResultSetObj) {
var _ = require('underscore');
var leadboardarray=[];
console.log("New leaderboard" + newResultSetObj);
console.log("Existing leaderboard" + existingLeaderboard);
leadboardarray = existingLeaderboard;
if (typeof existingLeaderboard == "undefined" || typeof newResultSetObj == "undefined"
|| existingLeaderboard.length == 0 || newResultSetObj.length == 0) {
console.log("existingLeaderboard or newResultSetObj is null");
return true;
}
var getUserFromLookPromise = Parse.Promise.as();
var fromUser = "";
//Event out looks
_.each(existingLeaderboard, function(test) {
if (contains(newResultSetObj, test)) {
console.log("Look id still in top 3 i =" + test);
// get user from look
var lookId = test;
console.log('get look id called ' + lookId);
var look = Parse.Object.extend("Look");
var lookQuery = new Parse.Query(look);
lookQuery.equalTo("objectId", lookId);
console.log("before find query");
//getUserFromLookPromise=getUserFromLookPromise.then(function(){
// return lookQuery.find();
lookQuery.find().then(function(){
// following console log never prints
console.log("inside find query");
var lookqueryPromise = Parse.Promise.as();
lookqueryPromise = lookqueryPromise.then(function() {
return lookQuery.find();
});
//while(lookqueryPromise.find().length==0){
// lookqueryPromise.resolve(lookQuery.find());
//}
return lookqueryPromise;
}).then(function (notificationUser) {
console.log("inside resolve user");
if ( typeof notificationUser == "undefined" || notificationUser.length == 0 ) {
getUserFromLookPromise.resolve(notificationUser);
}
fromUser = notificationUser[0].get['fromUser'];
return fromUser;
}).then(function (user) {
console.log("sending notification to user " + user);
sendNotification(user, "hello");
});
}
});
return getUserFromLookPromise;
}
I am new to parse. Please let me know what i am doing wrong.