我有一个解析云代码函数,我可以使用它从我的一个名为SourcesTopData的类中获取一些信息,如下图所示,每当应用程序启动时都会在swift中调用。
我遇到的问题似乎是我用来获取此信息的查询代码不起作用。正在使用的功能如下。
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");
下的列的行没有打印。在移动日志记录后,我发现代码没有进入成功或查询中的失败,但我似乎无法弄清楚为什么这是因为查看文档我&# 39;正确设置Parse.Query
。
答案 0 :(得分:0)
你没有回报任何承诺来处理:
return query.find({
答案 1 :(得分:0)
如果它没有在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);
}
});