title: Parse callback not called on object save
body: <p>I am running cloud code on Parse. I am running a query and for each query, I am doing a subquery. I will modify the results of my subquery. But having modified my subquery objects, I want to modify my query results objects to reflect that I have processed them.</p>
  
  <p>Using promises, I can make my initial query, iterate through each result, perform a subquery using that result and modify the new subquery results. However, once I successfully save my subquery results, the save callback isn't called and I can't update my initial query objects.</p>
  
  <pre><code>Parse.Cloud.job("processEvents", function(request, status){
  
      Parse.Cloud.useMasterKey();
  
          var query = new Parse.Query("events");
          query.equalTo("processed", false);
          query.limit(10);
  
          query.find().then(function(results) {
  
          var promise = Parse.Promise.as();
  
          _.each(results, function(eventsRecord) { //EACH
  
              var eventData = eventsRecord.get("eventData");
              var eventsObject = JSON.parse(eventData);
              var events = eventsObject["events"];
  
              for (var i = 0; i &lt; events.length; i++) {   //FOR
  
                  var currentEvent = events[i];
                  if(currentEvent["type"] === "vote"){
  
                      var votes = currentEvent["entity"]["votes"];
                      for (var i = 0; i &lt; votes.length; i++) {
  
                          var currentVote = votes[i];
  
                          promise = promise.then(function() {
  
                              var EventAssociationObject = Parse.Object.extend("eventAssociation");
                              var query = new Parse.Query(EventAssociationObject);
                              query.equalTo("voteID", currentVote["id"]);
  
                              return query.first({ 
                                  success:function(object){
  
                                      var partyEntity = currentEvent["entity"]; 
  
                                      object.set("entityJSONInformation", JSON.stringify(partyEntity));   
  
                                      //object in the response callback must be the object saved
                                      return object.save(object, {
  
                                          success:function(object){
                                              eventsRecord.set("processed", true);
                                              return eventsRecord.save();
                                          },
                                          error: function(error){
                                              console.log(error);
                                          }
                                      });
  
                                      }, 
                                      error:function(error){
                                          console.log(error);
                                      }
                                  }); 
                              });
                      };
  
                  }
  
  
              };  //FOR
  
          });  //EACH
  
          return promise;
  
      }).then(function() {
          status.success("Finished");
      });
  
  });
  </code></pre>