Разбор запроса кода облака не вызывает успеха или ошибки
У меня есть функция анализа кода облака, которую я использую, чтобы получить некоторую информацию от одного из моих классов, называемого 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);
}
});