解析云代码查询错误 141

Parse Cloudcode query error 141

本文关键字:错误 查询 代码      更新时间:2023-09-26

如果我在本地运行下面的解析JavaScript代码,查询工作正常。但是,当我调整代码以作为 Parse 云代码运行时,不会执行相同的查询,并且当我测试查询内容时,我收到代码 141 的错误。

我已经在不同的地方测试了这两个功能。参数 comp_id 和 request.params.comp_id 相同。

解析JavaScript查询(在本地运行,工作正常)

function testOne(comp_id) {
Parse.initialize(*****,*****);
    var Competition = Parse.Object.extend("Competition");
    var query = new Parse.Query(Competition);
    console.log(query);                      // <~ gets a valid query
    query.get(comp_id, {
        success: function(competition) {
            console.log(competition.id);
        },
        error: function(competition, error) {console.log(error);}
    });
}

解析云代码查询(查询不执行,错误 141)

Parse.Cloud.define("testOneCloud", function(request, response) {
    var comp_id = request.params.comp_id;
    var Competition = Parse.Object.extend("Competition");
    var query = new Parse.Query(Competition);
    msg = query;                               // <~ gets undefined error 141
    query.get(comp_id, {
        success: function(competition) {
            msg = competition.id;      // <~query success code does not get executed
        },
        error: function(competition, error) {console.log(error);}
    });
    response.success(msg);
});

知道为什么这两个看似相同的 Parse 程序中的一个可以工作而另一个不起作用吗?

似乎未声明的 msg 变量导致了问题。 怎么样(消除额外的变量并使用承诺):

Parse.Cloud.define("testOneCloud", function(request, response) {
    var Competition = Parse.Object.extend("Competition");
    var query = new Parse.Query(Competition);
    query.get(request.params.comp_id).then(function(competition) {
        response.success(competition.id);
    }, function(error) {
        response.error(error);
    });
});