2014-12-08 1 views
0

Я уверен, что ответ на этот довольно простой, но я не мог понять ...error = "TypeError: Object [object Object] не имеет метода addUnique n в main.js: 33: 12"; Облако код parse.com

Вот мой код в облаке Код:

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(); 
}); 

и вот мой код в прошивкой:

[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(), но он пришел с той же ошибкой!

Может ли кто-нибудь помочь?

+0

Ваша потребность переписать код облака. Каков тип данных 'userFrom' и' userTo'? – eth3lbert

ответ

1

Вам нужно дождаться, когда вернется объект. Я считаю, что 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 
    } 
}); 
1

Эти методы возвращают SDK обещания, а столбцы указателя должны быть заполнены с объектами, а не IdS которых является то, что вы должны быть проходной. Таким образом, вам нужно получить обоих пользователей и подключить асинхронные вызовы, подобные этому ...