在我的云代码中声明 response.success()/response.error() 的位置

Where to declare response.success()/response.error() in my cloud code

嗨,当我 运行 在云代码中执行此作业时,我收到一条错误日志: 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);
            }
        });
    });

在您的每个成功场景中,您都需要调用 response.success(),在括号之间您可以 return 一条状态消息,例如

response.success('Hello world did work');

在你的情况下,这可能会在这里:

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();

                            }
                            // HERE IS THE NEW CODE
                            response.success("Saved objects properly");

                        },
                        error: function (error) {
                            response.error(error);
                        }

                    });
                }
            }

        error: function (error) {
            response.error(error);
        }
    });
});