7

После того, как я отправляю новый объект в хранилище данных, я перенаправляю страницу на новый URL-адрес, в котором перечислены все сущности этой группы. При перенаправлении на странице отображаются устаревшие результаты, и я должен перезагрузить, чтобы увидеть новый список объектов в хранилище данных.Должен ли я ожидать устаревших результатов после перенаправления на локальную среду?

Я знаю о возможной согласованности. Вот почему я вижу устаревший результат?

Например,

мой хранилищу Мой один пользователь - Пользователь 1 Затем, в форме, добавить пользователя - User 2 Этот объект ставится в хранилище, а затем перенаправить на новый адрес , т. е. «get/users»

В случае перенаправления я вижу только пользователя 1, но если обновить страницу, я вижу пользователя 2. В любом случае я могу гарантировать или помочь предотвратить устаревшие результаты?

+0

Возможный дубликат: http://stackoverflow.com/q/ 15261099/8418 – Lipis

+1

@ Lipis, не полностью - это связано с конкретной адресацией согласованности, тогда как это спрашивает, действительно ли это ожидаемое поведение И связано с согласованностью. – kevin

ответ

7

Да, это вызвано «возможной согласованностью», как вы выразились.

У меня есть несколько рекомендаций:

  1. Использование AJAX. Использование редиректа результатов в ненужной дополнительной работе:
    • добавочных (ненужный) запрос HTTP (пропускной способность сети, латентность, серверных ресурсы, затраты мобильной передачи данных и т.д.)
    • дополнительный (ненужный) хранилищу запрос, чтобы подтвердить то, что вы уже знаю
  2. Используйте JavaScript, чтобы обновить список пользователей, отображаемых пользователю по успеху XMLHttpRequest; не выполняйте другой запрос.
  3. Если вам действительно нужен пользовательский объект, вы можете сделать ключ от ключа (а не запрос) из хранилища данных, и это будет строго согласовано.
  4. Если вы действительно хотите получить строго согласованный запрос, используйте запрос предка , который сильно согласован. Отправьте результаты этого запроса обратно в ответ на успех и соответствующим образом обновите свой интерфейс.
    • Примечание: для использования запросов предков требуется группа сущностей, которая ограничена ~ 1 записью/секундой; этот показатель будет достаточно, скажем, записи комментариев на блоге, но, вероятно, будет недостаточно для создания новых пользователей в приложении

 Смежные вопросы

  • Нет связанных вопросов^_^