javascript - Run _.each inside while PARSE -


i have table named "circle" , represents mailing list. circle can contain user id in inviteduser or circle id in invitedcircle. need circles id contain specific user (in code: 1-9). example if studanta in circlea circlea in circleb need studanta output circlea , circleb.

i try find circles conect each others while , each, status of job : not connect cloud code. how can run query until no result found?

parse.cloud.job("fillmemberincircles", function (request, status) {        var studentid = "123456789";      var output = [];      var lowlayer = [];      var highlayer = [];        // circles when student appears in column invitedusers      var invitedusers = new parse.query("circles");      invitedusers.equalto("invitedusers", studentid);      invitedusers.find({          success: function (invitedusersresults) {                if (invitedusersresults.length > 0) {                  (var = 0; < invitedusersresults.length; i++) {                      output.push(invitedusersresults[i].id);                      lowlayer.push(invitedusersresults[i].id);                  }                    var counter = lowlayer.length;                  var _ = require('underscore.js');                                    while (counter > 0) {                      //var _ = require('underscore.js');                      _.each(lowlayer, function (currcircle) {                            var invitedcirclesquery = new parse.query("circles");                          invitedcirclesquery.equalto("invitedcircles", currcircle);                          invitedcirclesquery.find().then(function (results) {                              if (results.length != 0) { // item exists                                  (var j = 0; j < results.length; j++) {                                      if (output.indexof(results[j].id) == -1) {                                          output.push(results[j].id);                                          highlayer.push(results[j].id);                                      }                                  }                              }                          }).then(function () {                              counter--;                              if (counter == 0) {                                  if (highlayer.length == 0) {                                      console.log("ok");                                      lowlayer = [];                                      status.success("sucsess: " + output.length.tostring());                                  } else {                                      lowlayer = highlayer;                                      counter = lowlayer.length;                                      highlayer = [];                                  }                              }                          });                      });                  }              }                //status.success("sucsess: " + output.length.tostring());          },          error: function () {              status.error("[fillmemberincircles] there error querymajors");          }      });    });


Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -