Anbarasi
Anbarasi

Reputation: 421

Error Message- Failed with: success/error was not called

Parse.Cloud.job("JobSchedule", function(request, response) {

    var Group = Parse.Object.extend("Group");
    var query = new Parse.Query(Group);
    query.equalTo("JobScheduled", true);
    query.find({
        success: function(results) {
            for (var i = 0; i < results.length; ++i) {
                var created = new Date(results[i].createdAt);
                var current = new Date();
                var timeDiff = Math.abs(current.getTime() - created.getTime());
                var horsDiff = timeDiff / (60 * 60 * 1000);
                if (horsDiff >= parseInt(results[i].get("JobHours"))) {
                    results[i].set("JobScheduled", false);
                    results[i].set("GroupType", "Private");
                    results[i].set("JobHours", 0);
                    results[i].save();

                    var GroupMembers = Parse.Object.extend("GroupMembers");
                    var query1 = new Parse.Query(GroupMembers);
                    query1.equalTo("GroupId", results[i].id);
                    query1.find({
                        success: function(grpresults) {
                            for (var j = 0; j < grpresults.length; ++j) {
                                grpresults[j].set("GroupType", "Private");
                                grpresults[j].save();
                            }
                        },
                        error: function(error) {
                            response.error(error);
                        }
                    })
                }
            }
        },
        error: function(error) {
            response.error(error);
        }
    });
});

Script is running properly(it updates the values as defined). But in parse log it shown as Failed with: success/error was not called. Please suggest me over this issue

Upvotes: 0

Views: 125

Answers (1)

Wain
Wain

Reputation: 119031

You simply never call response.success() or response.error(), and you should always call at least one of those.

You should really be storing all of the promises returned from your queries and saves and waiting until all of them are complete and then calling success or error based on the result from those promises.

Upvotes: 2

Related Questions