Ошибка кода облачного кода

Я попытался настроить облачный код на моем новом сервере синтаксического анализа (на AWS EB), чтобы отправить push-уведомления со следующим кодом:

Parse.Cloud.define("sendPush", function(request, response) {    
    var currentUser = request.user;
    var recipient = request.params.recipient;

    if (!currentUser) {
        response.error("Must be logged in.");
        return;
    }

    if (!recipient) {
        response.error("Must specify recipient.");
        return;
    }

    var userQuery = new Parse.Query(Parse.User);
    userQuery.equalTo('objectId', recipient);

    response.success(userQuery.get('name'))

    var pushQuery = new Parse.Query(Parse.Installation);
    pushQuery.matchesQuery('user', userQuery);

    Parse.Push.send({
        where: pushQuery,
        data: {
            alert: "Hello, World",
            badge: "Increment"
        }
    }, {
        success: function() {
            response.success("Push sent to " + recipient + " from " + request.user.get("username"));
        },
        error: function(error) {
            response.error('Not working')
        }
    });

});

Он не возвращает обратно ошибку, но уведомление не проходит. Вместо этого возникает следующая ошибка:

Optional({
    "_rejected" = 0;
    "_rejectedCallbacks" =     (
    );
    "_resolved" = 0;
    "_resolvedCallbacks" =     (
    );
})

Любая идея, почему это происходит?

РЕДАКТИРОВАТЬ

Я решил изменить код, чтобы проверить, не выполняет ли функция даже получение результатов, но похоже, что это не так. Вот новый код:

Parse.Cloud.define("sendPush", function(request, response) {    
    var currentUser = request.user;
    var recipient = request.params.recipient;

    if (!currentUser) {
        response.error("Must be logged in.");
        return;
    }

    if (!recipient) {
        response.error("Must specify recipient.");
        return;
    }

    var userQuery = new Parse.Query(Parse.User);
    userQuery.equalTo('objectId', recipient);
    userQuery.find
          ({
              success: function(results)                              
              {              
                   if (results.length > 0) 
                   {                                   
                            var objectId = results[0].id;   
                            var gate = results[0].get("name");    
                            response.success(JSON.stringify(results[0]));

                   }                 
                   else    
                   {                 
                       response.error("wont work");
                    };

               } 
          })

});

и получите следующую ошибку:

Optional(Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldna€™t be completed. (Cocoa error 3840.)" (No value.) UserInfo=0x7ff163c587d0 {NSDebugDescription=No value.})

javascript,parse.com,

0

Ответов: 0

Ошибка кода облачного кода

Я попытался настроить облачный код на моем новом сервере синтаксического анализа (на AWS EB), чтобы отправить push-уведомления со следующим кодом:

Parse.Cloud.define("sendPush", function(request, response) {    
    var currentUser = request.user;
    var recipient = request.params.recipient;

    if (!currentUser) {
        response.error("Must be logged in.");
        return;
    }

    if (!recipient) {
        response.error("Must specify recipient.");
        return;
    }

    var userQuery = new Parse.Query(Parse.User);
    userQuery.equalTo('objectId', recipient);

    response.success(userQuery.get('name'))

    var pushQuery = new Parse.Query(Parse.Installation);
    pushQuery.matchesQuery('user', userQuery);

    Parse.Push.send({
        where: pushQuery,
        data: {
            alert: "Hello, World",
            badge: "Increment"
        }
    }, {
        success: function() {
            response.success("Push sent to " + recipient + " from " + request.user.get("username"));
        },
        error: function(error) {
            response.error('Not working')
        }
    });

});

Он не возвращает обратно ошибку, но уведомление не проходит. Вместо этого возникает следующая ошибка:

Optional({
    "_rejected" = 0;
    "_rejectedCallbacks" =     (
    );
    "_resolved" = 0;
    "_resolvedCallbacks" =     (
    );
})

Любая идея, почему это происходит?

РЕДАКТИРОВАТЬ

Я решил изменить код, чтобы проверить, не выполняет ли функция даже получение результатов, но похоже, что это не так. Вот новый код:

Parse.Cloud.define("sendPush", function(request, response) {    
    var currentUser = request.user;
    var recipient = request.params.recipient;

    if (!currentUser) {
        response.error("Must be logged in.");
        return;
    }

    if (!recipient) {
        response.error("Must specify recipient.");
        return;
    }

    var userQuery = new Parse.Query(Parse.User);
    userQuery.equalTo('objectId', recipient);
    userQuery.find
          ({
              success: function(results)                              
              {              
                   if (results.length > 0) 
                   {                                   
                            var objectId = results[0].id;   
                            var gate = results[0].get("name");    
                            response.success(JSON.stringify(results[0]));

                   }                 
                   else    
                   {                 
                       response.error("wont work");
                    };

               } 
          })

});

и получите следующую ошибку:

Optional(Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldna€™t be completed. (Cocoa error 3840.)" (No value.) UserInfo=0x7ff163c587d0 {NSDebugDescription=No value.})
00javascript, parse.com,
Похожие вопросы
Яндекс.Метрика