Използвам облачен код на Parse, за да актуализирам някои броячи на потребител, когато after_delete се извиква на определени класове. Потребителят има броячи за абонаменти, последователи и следване, които се увеличават в before_save за абонаменти и следвания и намаляват в before_delete за същите класове.
Проблемът, с който се сблъсквам, е когато даден потребител бъде изтрит. Функцията after_delete унищожава всички свързани абонаменти/следвания, но това задейства актуализация на (изтрития) потребител чрез before_delete за абонаменти/следвания. Това винаги води до грешка на before_delete.
Може би концептуално съм объркан относно най-добрия начин да постигна това, но не мога да разбера как правилно да настроя следния код в follow before_delete:
var fromUserPointer = follow.get("fromUser");
var toUserPointer = follow.get("toUser");
fromUserPointer.fetch().then( function(fromUser){
// update following counter
// if from user is already deleted, none of the rest of the promise chain is executed
}.then( function (fromUser){
return toUserPointer.fetch();
}.then( function(toUser){
// update followers count
}
Има ли начин да се определи дали fromUserPointer и toUserPointer сочат към валиден обект, който не изпълнява реално извличането?