我得把它从5个减少到2个请求。
我只是通过在本地声明来更新我要更新的User
,而不是发出请求来提取两个用户。
然后,我使用指向他们即将成为好友的用户的唯一指针更新这两个对象的'friends
列。
最后,我将这两个对象都保存在一个数组中,并在该数组上调用saveAll
。
Parse.Cloud.afterSave('FriendRequest', function(request) {
var status = request.object.get("status");
var sendingUser = request.object.get("from").id;
var receivingUser = request.object.get("to").id;
if (status == "Accepted") {
var ReceivingUser = Parse.Object.extend("User");
receivingUserObject = new ReceivingUser();
receivingUserObject.id = receivingUser;
var SendingUser = Parse.Object.extend("User");
sendingUserObject = new SendingUser();
sendingUserObject.id = sendingUser;
receivingUserObject.addUnique("friends", sendingUserObject);
sendingUserObject.addUnique("friends", receivingUserObject);
var arrayToSave = [receivingUserObject, sendingUserObject];
Parse.Object.saveAll(arrayToSave, {
success: function(savedArray) {
console.log("successfully saved friends");
},
error: function(error) {
console.log("failure saving friends");
}
});
}
});