Что я пытаюсь сделать, так это то, что когда я вызываю эту облачную функцию (deploy
), она сначала удаляет все данные из toClass
, затем перебирает объекты в fromClass
, копирует и сохраняет их в toClass
. Когда он сохраняет объект, он также удаляет его из fromClass
. Проще говоря, перемещайте объекты из класса в другой. Вызов этой функции на клиенте
[PFCloud callFunctionInBackground:@"deploy" withParameters:@{@"toClass": kTilrClassUpdates, @"fromClass": kTilrClassPrototypeUpdates} block:^(id object, NSError *error) {
if (error) {
[self failed];
} else {
[self succeeded];
}
}];
Будет напечатано это сообщение об ошибке в журнале клиента: Error: undefined (Code: 141, Version: 1.2.19)
Вот код для Parse Cloud:
Parse.Cloud.define("deploy", function(request, response) {
var query = new Parse.Query(request.params.toClass);
query.find({
success: function(results) {
for (var i = 0; i < results.length; ++i) {
console.log(results[i]);
results[i].destroy({
success: function(object) {
},
error: function(object, error) {
response.error(error);
}
});
}
},
error: function() {
response.error(error);
}
});
var query2 = new Parse.Query(request.params.fromClass);
query2.find({
success: function(results) {
for (var index = 0; index < results.length; ++index) {
var UpdateInfoClass = Parse.Object.extend(request.params.toClass);
var updateInfo = new UpdateInfoClass();
for (var k in results[index]) {
updateInfo.set(k, results[index][k]);
}
console.log(updateInfo);
updateInfo.save(null, {
success: function(updateInfo) {
results[index].destroy();
if (index == results.length - 1) {
response.success();
}
},
error: function(updateInfo, error) {
response.error(error);
}
});
}
},
error: function() {
response.error(error);
}
});
});
Я действительно мало знаю о JavaScript, так что где-то это может быть очень простая ошибка.