解析云代码-在"normal"函数中查询用户问题

Parse cloud code - query user issue in "normal" function

使用 "standard" 函数时,我无法获取云代码来查询用户...

如果我定义函数(如下所示),它工作正常...

Parse.Cloud.define("findUser1", function(request, response){
   Parse.Cloud.useMasterKey();
   var query = new Parse.Query(Parse.User);
   query.equalTo("objectId", "2FSYI1hoJ8"); // "2FSYI1hoJ8" is the objectId of the User I am looking for
   query.first({
       success: function(user){
       response.success(user);
   },
   error: function(error) {
       console.error(error);
       response.error("An error occured while lookup the users objectid");
   }
   });
 });

在这个版本中,函数会被调用,但是里面的查询不会...

function findThisUser(theObject){
    console.log("findThisUser has fired... " + theObject); //confirms "theObject" has been passed in
    Parse.Cloud.useMasterKey();
    var query = new Parse.Query(Parse.User);
    query.equalTo("objectId", "2FSYI1hoJ8"); // "2FSYI1hoJ8" is the value of "theObject", just hard coded for testing
   query.first({
       success: function(users){
       console.log("the user is... " + users);
       // do needed functionality here
   },
       error: function(error) {
       console.error(error);
   }
   });
};

云代码不允许使用全局变量,而且我看不到如何将变量从另一个传递到 "defined" 函数。这是至关重要的,因为必须调用外部函数来 运行 返回用户所需的任务。 (这发生在其他地方,并且必须在其他所有事情发生之后发生。这是确认,并且应该也被其他功能使用)迄今为止发现的所有潜在信息都没有帮助,我在服务器端的唯一经验javascript 是我从其他云代码中拼凑出来的...

关于我遗漏的任何想法?

这个 link 可能会有所帮助,我昨天遇到了类似的问题,在稍微移动了代码之后,有了 response.success(user);在我的函数中一切正常。

Parse Cloud Code retrieving a user with objectId

不是您的确切问题 - 但这可能会有所帮助。

这是我现在使用的代码:

Parse.Cloud.define("getUserById", function (request, response) {
//Example where an objectId is passed to a cloud function.
var id = request.params.objectId;

Parse.Cloud.useMasterKey();
var query = new Parse.Query(Parse.User);
query.equalTo("ObjectId", id);

query.first(
{
    success: function(res) {
        response.success(res);
    },
    error: function(err) {
        response.error(err);
    }
});

});