在javascript中从当前用户解析检索指针

时间:2015-01-10 18:31:24

标签: javascript pointers parse-platform

在Parse中我将User表设置为具有多个列,其中大多数是字符串,但是一个是指向另一个Parse类的指针。我想在查询中使用此指针

在Java中,我可以访问我的查询中使用的指针,如下所示:

ParseUser currentUser = ParseUser.getCurrentUser();
ParseObject comParent = currentUser.getParseObject("ComParent");

在JavaScript中,我尝试过使用:

var currentUser = Parse.User.current();
var comParent = currentUser.get("ComParent");

但这会返回undefined。我做错了什么?

2 个答案:

答案 0 :(得分:7)

According to the documentation:

“默认情况下,在获取对象时,不会获取相关的Parse.Object。这些对象的值在获取之前无法检索:”

var post = fetchedComment.get("parent");
post.fetch({
  success: function(post) {
    var title = post.get("title");

  }
});

所以你应该写:

var currentUser = Parse.User.current();
var comParent = currentUser.get("ComParent");
comParent.fetch({
    success: function(comParent) {
        var name = comParent.get("Name");
        alert(name); // this one will work
    }
});
alert(comParent.get("Name")); // this one wont work, see below

请记住success是一个异步回调,因此如果您需要访问comParent以外的success功能,comParent将无法在success功能之外使用{{1}}的{​​{3}}

答案 1 :(得分:1)

感谢。我的问题是两件事的结合。首先,正如你正确指出的那样,我没有正确地取出物体。其次,我试图从没有相关ComParent对象的用户那里获取一个对象(Doh!)。无论如何,你的解决方案让我需要获取对象,但我认为它不是应该有fetch的currentUser,它是comParent:

var currentUser = Parse.User.current();
var comParent = currentUser.get("ComParent");
    comParent.fetch({
        success: function(comParent) {
            var name = comParent.get("Name");
            alert(name);
        }
    });

再次感谢@ DelightedD0D