0
tI'm несколько дней застрял с моим следующим кодом в Parse Cloud. Я знаю, что делаю вложенный запрос неправильно, но много пробовал и до сих пор не работает.Parse cloud code inested .each query
Первый код работает, но объект книги не создается.
Должен ли я использовать обещания здесь? Благодарим за помощь в продвижении.
Parse.Cloud.job("PayTax", function(request, status) {
var promises = []; // promises array
Parse.Cloud.useMasterKey();
var query = new Parse.Query(Parse.User);
query.each(function(user) {
// Set and save the change
var balance = user.get("balance");
var stamount = user.get("streets");
var level = user.get("level");
var tax = 5 * level * stamount;
var newbalance = balance - tax;
user.set("balance", newbalance);
user.save();
console.log("User tax payed " + tax + " " + user.get("username") + "ID: " + user.id);
//update ledger // 2nd query
var Ledger = Parse.Object.extend("Ledger");
var ledger = new Ledger();
var userPointer = new Parse.Object("_User");
userPointer.id = user.id;
ledger.set("type", "tax");
ledger.set("amount", tax);
ledger.set("user", user);
ledger.set("description", "Tax payed");
ledger.set("xp", 0);
console.log("Tax added to Ledger " + tax + user.get("username") + "ID: " + user.id);
promises.push(ledger.save());
});Parse.Promise.when(promises).then(function() {
// Set the job's sucess status
status.success("Update balance completed successfully.");
}, function(error) {
// Set the job's error status
status.error("Uh oh, something went wrong." + error);
});
});
Hi Mo Nazemi, спасибо за вашу помощь. Мне все еще не удалось заставить его работать. Я обновил свой код, что я делаю неправильно? – Lengo
Функция query.each должна заканчиваться, прежде чем ждать этих обещаний. –
Спасибо, думаю, что он работает. – Lengo