Экспертам по Redux, есть вопрос.
Привет, ЛОР. Недавно я написал свою реализацию Redux на Kotlin и уже пост фактум столкнулся с интересной особенностью, мне надо понять, проблема в том как я спроектировал конечное приложение, или в моей реализации на Kotlin есть баг. В общем, нужно проверить как ведёт себя оригинальный ReduxJS в такой ситуации и потому я здесь (Сам я в JS не шибко силён).
Ближе к делу: Речь идёт о middleware, функции next внутри него и возможности диспатчить новые action непосредственно из Middleware (насколько я понял из документации вызов next и dispatch в одной ветке никаких правил не нарушают). Так вот, допустим у меня есть такая конструкция.
Action A
Action B
Action C
Action D
middleware1 который превращает A -> B вызывая next
middleware2 который превращает B -> C вызывая next И! одновременно с этим дергает dispatch(ActionD)
Какое поведение ожидаю я: Сначала полностью пройдет цепочка для A -> B -> C
C попадет в Reducer, поменяется состояние и только потом через все Middleware и в конечном счёте Reducer полетит событие D.
На самом деле происходит совсем не так: В моём случае событие D летит по всем Middleware ещё до того как событие C достигнет редюсера. Повторюсь, возможно бага в моей реализации и я просто хочу понять, как оно в эталоне, которым для меня является JS. Надеюсь доступно объяснил и надеюсь на вашу помощь.