error =“类型错误:对象 [对象对象] 在 main.js:33:12 没有方法'addUnique

error = "TypeError: Object [object Object] has no method 'addUnique' at main.js:33:12"; Cloud code parse.com

本文关键字:对象 有方法 js addUnique 类型 错误 类型错误 error main      更新时间:2023-09-26

我相信这个问题的答案很简单,但我无法弄清楚......

这是我在云代码中的代码:

Parse.Cloud.define("acceptFriendRequest", function(request, response) {
  Parse.Cloud.useMasterKey();
  var query = new Parse.Query("_User");
  var userFrom = new Parse.User();
  userFrom = query.get(request.params.userFrom);
  console.log(userFrom);
  var userTo = new String();
  userTo = request.params.userTo;
  userFrom.addUnique("friend", userTo);
  user.save().then(function (user) {
        response.success();
    }, function (error) {
        console.log(error);
        response.error(error);
   });
  response.success();
});

这是我在iOS中的代码:

[PFCloud callFunctionInBackground:@"acceptFriendRequest"
                       withParameters:@{@"userFrom":userFrom.objectId,
                                        @"userTo":[PFUser currentUser].objectId}
                                block:^(id object, NSError *error) {
                                    if (error) {
                                        NSLog(@"Error: %@ %@", error, [error userInfo]);
                                    }
                                }];

但是我收到错误:

error = "TypeError: Object [object Object] has no method 'addUnique''n    at main.js:33:12";

我也只尝试了普通的userFrom.add()方法,但它带来了同样的错误!

谁能帮忙?

您需要等待 get 返回对象。 我相信get()本身只是返回 null。

query.get(request.params.userFrom, {
  success: function(object) {
    userFrom = object;
    userFrom.addUnique("friend", userTo);
    user.save();
  },
  error: function(object, error) {
    // something went wrong
  }
});

这些 sdk 方法返回 promise,指针列必须填充对象,而不是您必须传递的 id。 所以你需要得到两个用户,并像这样链接异步调用......

Parse.Cloud.useMasterKey();
var userFrom;  // so it's available in the second 'then' closure
Parse.Query(Parse.User).get(request.params.userFrom).then(function(user) {
    console.log(user);
    userFrom = user;
    return Parse.Query(Parse.User).get(request.params.userTo);
}).then(function(userTo) {
    userFrom.addUnique("friend", userTo);
    return userFrom.save();
}).then(function (user) {
    response.success(user);
}, function (error) {
    console.log(error);
    response.error(error);
});