[英]Parse cloud code - query user issue in "normal" function
使用“标准”功能时,我无法获取云代码来查询用户...
如果我定义函数(如下),它工作正常......
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);
}
});
};
云代码不允许全局变量,我不知道如何将变量从另一个变量传递给“已定义”函数。 这是至关重要的,因为必须调用外部函数才能在返回的用户上运行所需的任务。 (这发生在其他地方,并且必须在其他所有事情之后发生。这是确认,并且应该被其他功能使用)迄今为止发现的所有潜在信息都没有帮助,而且我在服务器端 javascript 中的唯一经验是我从其他云代码拼凑出来的......
关于我所缺少的任何想法?
这个链接可能会有所帮助,昨天我遇到了类似的问题,在稍微移动了代码并获得了 response.success(user); 在我的功能中一切正常。
不是您的确切问题 - 但这可能会有所帮助。
这是我现在使用的代码:
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);
}
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.