解析云代码查询不触发成功或错误
Posted
技术标签:
【中文标题】解析云代码查询不触发成功或错误【英文标题】:Parse cloud code query not triggering success or error 【发布时间】:2016-02-22 21:00:07 【问题描述】:我有一个解析云代码函数,我用它来从我的一个名为 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");
下的列的行没有打印任何内容。移动日志记录后,我发现代码在查询查找中没有成功或失败,但我似乎无法弄清楚为什么会这样,因为查看我设置了@987654325 的文档@ 正确。
【问题讨论】:
【参考方案1】:你没有返回任何东西来处理承诺:
return query.find(
【讨论】:
它仍然没有记录成功内的值。【参考方案2】:如果它没有在 IF 中记录任何内容,那么 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);
);
【讨论】:
还是一样的东西。它根本没有记录任何成功或错误。以上是关于解析云代码查询不触发成功或错误的主要内容,如果未能解决你的问题,请参考以下文章