Ожидает ли избыточный поток, пока все ранее отправленные действия не изменили хранилище? - PullRequest
1 голос
/ 29 мая 2019
handleDeleteClick = propertyName => () => {
  this.props.clearFilterOption(propertyName, this.props.filtersPropertyName);
  this.props.onFilterClear();
};

handleDeleteClick функция - обработчик кнопок. Мое первое излишнее действие clearFilterOption изменяет магазин. Второе действие onFilterClear - это асинхронное действие, которое отображает параметры фильтра из getState redux-thunk и вызывает api. У меня такой вопрос - ждет ли примитив thunk ожидания от ранее отправленного действия, которое изменяет хранилище? Другими словами - есть ли у меня уверенность, что второе действие сработает с самой последней версией магазина?

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

1 Ответ

1 голос
/ 29 мая 2019

Промежуточное программное обеспечение Thunk не «ждет» как таковое, все, что оно делает, это смотрит на отправленное действие и, если это функция, вызывает его.

Порядок изменения вашего магазина зависит от ваших действий и от того, являются ли они асинхронными или нет.

В вашем случае, если ваше первое действие clearFilterOption является синхронным, оно всегда будет обновлять хранилище перед отправкой второго действия. Если это не синхронно, то это зависит от того, что происходит внутри ваших Тунков.

Если вам всегда нужно, чтобы что-то происходило раньше, чем другое, вы должны связывать свои действия (как Thunks), а не отправлять их последовательно в ваш handleDeleteClick.

...