解析云代码查询不触发成功或错误

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); );

【讨论】:

还是一样的东西。它根本没有记录任何成功或错误。

以上是关于解析云代码查询不触发成功或错误的主要内容,如果未能解决你的问题,请参考以下文章

解析云代码错误:未调用成功/错误(代码:141,版本:1.9.0)

解析服务器云代码查询语法错误 141

解析云代码并触发性能 - 使用

错误:部署云功能时解析触发器出错 - Firebase

解析云代码函数响应成功不是函数

亚马逊云搜索查询