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

时间:2015-04-24 10:33:24

标签: parse-platform 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);
            }
        });
    });

1 个答案:

答案 0 :(得分:1)

在每个成功案例中,您需要调用response.success(),在括号之间可以返回状态消息,例如

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