Parse Server - после сохранения нажать на конкретное изменение поля
У меня есть сборник работ, и у него есть поле applicants
который Relation
тип класса User
, Теперь я хочу отправить push-уведомление пользователю, когда такая операция, как AddRelation
или же RemoveRelation
происходит на applicants
поле. У Parse Object есть два доступных метода, с помощью которых я могу понять, должен ли я отправить push. Эти два метода следующие.
req.object.dirtyKeys()
req.object.op('applicants')
Эти две функции возвращают мне ожидаемый результат на beforeSave
крюк. Я получаю пустой результат в afterSave
что по документации, как и ожидалось.
Теперь моя проблема в том, что я не хочу отправлять push beforeSave
поскольку может быть другая логика проверки, которая в конечном итоге отменяет операцию. Я хочу отправить push только тогда, когда объект сохранен и вышеуказанное условие выполнено. Есть ли что-то вроде передачи данных из beforeSave
в afterSave
, Или я что-то упускаю очевидное?
1 ответ
Простой - хотя и не слишком элегантный - способ передачи данных между beforeSave
а также afterSave
установить свойство сохраняемого объекта. Когда вы сохраняете объект и не хотите передавать какую-либо информацию, снимите его; иначе установите значение, которое может быть интерпретировано afterSave
, К сожалению, вы не можете легко очистить собственность в afterSave
потому что это приведет к новому сохранению и, следовательно, вызвать beforeSave
опять же, поэтому остальная часть приложения должна игнорировать это свойство...