Оптимистичное обновление с CQRS

Клиент Apollo может быть настроен на оптимистичный ответ. Когда приходит ответ, мы можем выполнить проверку ожидаемого результата.

Если проверка прошла успешно, состояние пользовательского интерфейса остается прежним, в противном случае пользовательский интерфейс обновляется для отображения последнего ответа.

В случае, если серверная часть сервера построена на идеях CQRS, у нас будет операция WRITE, идущая на сервер команд, который будет вызывать только событие и возвращать ответ. Позже часть запроса мутации graphql будет обращаться к серверу READ для проверки оптимистичного обновления.

В случае задержки и того, что к тому времени READ еще не распространился на сервер READ, состояние пользовательского интерфейса будет возвращено к состоянию, которое было до запуска команды.

Есть ли способ справиться с этим так, чтобы учитывалась задержка READ -WRITE, а также оптимистические обновления работали, как и ожидалось, с изменениями пользовательского интерфейса.

0 ответов

Другие вопросы по тегам