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

时间:2016-02-22 21:00:08

标签: swift parse-platform cloud-code

我有一个解析云代码函数,我可以使用它从我的一个名为SourcesTopData的类中获取一些信息,如下图所示,每当应用程序启动时都会在swift中调用。

Classes Objects

我遇到的问题似乎是我用来获取此信息的查询代码不起作用。正在使用的功能如下。

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

2 个答案:

答案 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); } });