I'm writing a background job
function on Parse.com
CloudCode
. The job
needs to call the same function (that includes a Parse.Query.each()
call) several times with different parameters, and I want to chain these calls with promises. Here's what I have so far:
Parse.Cloud.job("threadAutoReminders", function(request, response) {
processThreads(parameters1).then(function() {
return processThreads(parameters2);
}).then(function() {
return processThreads(parameters3);
}).then(function() {
return processThreads(parameters4);
}).then(function() {
response.success("Success");
}, function(error) {
response.error(JSON.stringify(error));
});
});
Below is the processThreads()
function:
function processThreads(parameters) {
var threadQuery = new Parse.Query("Thread");
threadQuery... // set up query using parameters
return threadQuery.each(function(thread) {
console.log("Hello");
// do something
});
}
My questions are:
- Am I chaining function calls using promises correctly?
- What happens in
threadQuery.each()
returns zero results? Will the promise chain continue with execution? I'm asking because at the moment "Hello" never gets logged..