Я не уверен, что вы подразумеваете под "столкновением".Насколько я понимаю, произойдет следующее:
- Если предположить, что оба запроса выполнены успешно, то для каждого из них будут получены данные, состояние избыточности будет обновлено дважды, и компонент, который отображает обновленное состояниебудет отображаться дважды (и время, прошедшее между двумя визуализациями, может быть очень коротким, что может быть не очень приятным для пользователя)
Если вы хотите, чтобы только один из этих двух запросов обновил компонент,тогда возможное решение может быть следующим:
Каждый запрос начинается перед извлечением данных из базы данных путем создания действия RETRIEVAL_START.'RETRIEVAL_START' устанавливает переменную состояния редукции 'retrievalInProgress'
Если вы хотите, чтобы в таком случае получать результаты только по 1-му из двух запросов, вы можете проверить, прежде чемвызов создателя действия из компонента, если включена функция retrievalInProgress.Если это так, не вызывайте создателя действия (другими словами, не запрашивайте данные во время выполнения запроса).'retrievalInProgress' будет очищен при успешном или неудачном извлечении данных.
Если вы хотите получить результаты только из 2-го из двух запросов, вместо этого сделайте «retrievalInProgress» счетчиком, вместо этогологическогоВ действии «retrievalSuccess» редуктора, если этот счетчик больше 1, это означает, что новый запрос уже запущен.В этом случае не обновляйте состояние, а уменьшайте счетчик.
Я надеюсь, что это имеет смысл.Я не могу быть уверен на 100%, что это работает до того, как я его протестирую, чего я не собираюсь делать :), но я бы выбрал такой подход.