Objective c 同时使用Parse saveAllInBackground和beforeSave函数
我正在开发一个应用程序,它使用Parse.com提供的云服务 在应用程序中,我们需要一次保存多个记录,并使用以下代码保存产品阵列Objective c 同时使用Parse saveAllInBackground和beforeSave函数,objective-c,parse-platform,cloud,Objective C,Parse Platform,Cloud,我正在开发一个应用程序,它使用Parse.com提供的云服务 在应用程序中,我们需要一次保存多个记录,并使用以下代码保存产品阵列 [PFObject saveAllInBackground:productArray block:^(BOOL succeeded, NSError *error) { if(succeeded){ NSLog(@"Saved"); } else { NSLog(@"Error: %@", error);
[PFObject saveAllInBackground:productArray block:^(BOOL succeeded, NSError *error) {
if(succeeded){
NSLog(@"Saved");
}
else
{
NSLog(@"Error: %@", error);
}
}];
我们还需要避免重复相同的记录,我们使用以下云函数来避免它
var Product = Parse.Object.extend("Product");
Parse.Cloud.beforeSave("Product", function(request, response) {
if (!request.object.get("productId")) {
response.error('Products should have a Product Id');
} else {
var query = new Parse.Query(Product);
query.equalTo("productId", request.object.get("productId"));
query.first({
success: function(object) {
if (object) {
response.error("A Product with this productId already exists.");
} else {
response.success();
}
},
error: function(error) {
response.error("Could not validate uniqueness for this Product object.");
}
});
}
});
我们的问题是,当saveAllInBackground方法处理1000个项目时,如果存在两个重复的值,则整个过程都会受到影响
例如,我们一次发送1000个项目,这1000个项目中有5个重复的项目,我们希望剩余的995个项目保存为新记录。然而,目前情况并非如此。似乎所有保存过程都受到为单个记录发送的错误消息的影响
任何反馈都将不胜感激