Объект удален из кэша, несмотря на ошибку при удалении - PullRequest
0 голосов
/ 29 июня 2019

Я использую Angular 8 с @ngrx/data для управления своими сущностями. Когда я инициирую операцию удаления, которая завершается неудачно (сервер возвращает 500), объект удаляется из кэша на стороне клиента ngrx, несмотря на то, что он не удаляется на сервере.

Как предотвратить ошибку при удалении объекта из кэша? Или как мне повторно добавить (не) удаленную сущность обратно в кеш при ошибке?

1 Ответ

1 голос
/ 30 июня 2019

Использовать пессимистичное сохранение https://ngrx.io/guide/data/entity-change-tracker#save-errors

EntityActions, чьи имена операций заканчиваются на _OPTIMISTIC, запускают оптимистичное сохранение.

Многие приложения легче создавать, когда сохранение «оптимистично», потому что изменения немедленно доступны для кода приложения, который просматривает селекторы коллекции. Приложение не должно ждать подтверждения что операция с объектом на сервере выполнена успешно.

Пессимистичное сохранение не обновляет хранилище до тех пор, пока сервер сервер подтверждает, что сохранение выполнено успешно, и затем данные NgRx в действие "УСПЕХ", которое обновляет коллекцию. С сохранить пессимистично, изменения не будут доступны в магазине

...