【问题标题】:Parse Cloud Code - Notifcation not working and objects not deleting解析云代码 - 通知不起作用且对象未删除
【发布时间】:2015-11-23 20:10:53
【问题描述】:

我有一个 Parse Cloud Code 函数作为我的后台工作。现在我正处于调试阶段。该函数不会引发错误,并且它没有做它应该做的事情。名为“backgroundJob”的函数应该遍历所有已创建的“组”对象。每个“组”对象都有一个“事件”对象数组,关于“事件”对象,您只需要知道它有一个名为“日期”的日期属性。

该函数应遍历每个组对象的所有事件,如果事件的日期与当前时间相同,则该函数应向该组中的所有“用户”发送通知,然后删除该事件。目前,该功能如果与当前时间相同,则不删除该事件,并且不通知组成员

我的功能如下。

Parse.Cloud.define("backgroundJob", function(request, response) {
Parse.Cloud.useMasterKey();

var moments = require("cloud/moment.js");
moments().format();

var _ = require('cloud/underscore.js');

// Get the actual time, for use in non testing
// var now = moments();

// For testing edit time in ()
var now = moments("2015-23-11 19:30", "YYYY-MM-DD HH:mm");

var out = now;

console.log(out);

var groupObject = Parse.Object.extend("Group");
var query = new Parse.Query(groupObject);

var eventObject = Parse.Object.extend("Event");

query.find().then(function(groups) {
    var promise = Parse.Promise.as();
    var groupArray = groups;
    for (var i = 0; i < groupArray.length; i++) {
        promise = promise.then(function() {
            var count = 0;
            var eventArray = groupArray[i].get("Events");
            for (count = 0; count < eventArray.length; count++) {
                if (now == eventArray[count].get('date')) {

                    var curEvent = eventArray[count];
                    eventArray[count].destory();

                    var relationc = result.get("created");

                    var createdq = relationc.query();

                    var relationj = result.get("created");

                    var joinedq = relationj.query();

                    var partOnee = curEvent.get("name");
                    var outString = partOnee.concat(" is now");

                    Parse.Push.send({
                        where : createdq,
                        data : {
                            alert : outString
                        }
                    }).then(function() {
                        response.success();
                    }, function(error) {
                        response.error(error);
                    });

                    Parse.Push.send({
                        where : joinedq,
                        data : {
                            alert : outString
                        }
                    }).then(function() {
                        response.success();
                    }, function(error) {
                        response.error(error);
                    });

                    var e = eventArray[count];

                    var destroyp = Parse.Promise.as();

                    destroyp = promise.then(function() {
                        return e.destroy();
                    }, function(error) {
                        response.error(error);
                    });
                }
            }
        });
    }
}).then(function() {
    response.success()
}, function(error) {
    response.error(error);
});
});

谢谢。

对于代码中的参考,用户有两个独立的关系“创建”和“加入”,这就是为什么在代码中我有一个创建查询和一个反应查询。

【问题讨论】:

    标签: javascript arrays parse-platform underscore.js momentjs


    【解决方案1】:

    您的代码中有错字。也许这不是问题的原因,但无论如何,请检查一下。

    eventArray[count].destory();
    

    看起来很傻,但是,谁知道...

    【讨论】:

    • 我不认为这是一个错字,因为我将var e 设置为等于eventArray[count]; 和然后我在e 上调用destroy,如下e.destroy();。不过我还是会试试的,谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-22
    • 1970-01-01
    • 2015-04-14
    • 1970-01-01
    相关资源
    最近更新 更多