Разбор запроса кода облака не вызывает успеха или ошибки

У меня есть функция анализа кода облака, которую я использую, чтобы получить некоторую информацию от одного из моих классов, называемого SourcesTopData, как вы можете видеть на картинке ниже, она вызывается по-быстрому всякий раз, когда приложение запускается.

Классы Объекты

У меня проблема в том, что код запроса, который я использую для получения этой информации, не работает. Используемая функция приведена ниже.

Parse.Cloud.define("myNews", function (request, response) {

    var newsJsonData = {
        "stories": []
    };

    // Check the params and get the range
    if (parseInt(request.params.myoffset) === 0) {

        endIndex = 5;

    } else {
        startIndex = request.params.myoffset;
        endIndex = startIndex + 5;
    }



    var promises = _.each(request.params.keys, function (news_api_key) {

        if (request.params.Type == "Top") {



            var query = new Parse.Query("SourceTopData");
            query.equalTo("guid", news_api_key);

            console.log("The api key is " + news_api_key);

            query.find({

                success: function (results) {

                    console.log("The results are");
                    console.log("The icon name is  " + results[0].get("icon") + " The source name is " + results[0].get("source") + " The url id is " + results[0].get("guid_url"));

                },
                error: function () {

                    console.log("FAIL");
                    success = false;

                    response.error("Query lookup failed");
                }
            });

        }
    });


    Parse.Promise.when(promises).then(function () {

        response.success(newsJsonData);

    }, function () {
        response.error("No stories");
    });

});

Строка, где я пытаюсь войти в столбцы под console.log("The results are"); ничего не печатает. После перемещения регистрации я обнаружил, что код не приводит к успеху или сбою в поиске запроса, но я не могу понять, почему это происходит с тех пор, как я посмотрел документ, который я настроил Parse.Query должным образом.

2 ответа

Вы ничего не возвращаете для выполнения обещаний:

return query.find({

Если он не регистрирует что-либо внутри IF, возможно, что-то не так с этим, если

попробуйте войти в систему, прежде чем ввести if, и вы увидите, что внутри

console.log("type: " + request.params.Type);

Также, если вы хотите записать все результаты, вы должны поместить их в цикл FOR

var query = new Parse.Query("SourceTopData"); query.equalTo("guid", news_api_key); query.find({ success: function(results) { for (var i = 0; i < results.length; i++) { console.log("The icon name is " + results[i].get("icon")); }; console.log("Total results: " + results.length); }, error: function(error) { console.log("FAIL error: " + error); } });

Другие вопросы по тегам