Первые вызовы Action в ngxs происходят до вызова APP_INITIALIZER фабрики?

В Angular выражение "APP_INITIALIZER" относится к механизму предварительной инициализации приложения. Разработчики могут использовать этот механизм для выполнения каких-либо действий или вызовов перед тем, как приложение полностью запустится.

При использовании Angular и состояния NGXS, первые вызовы Action не происходят до вызова APP_INITIALIZER фабрики.

По умолчанию, входное состояние NGXS является немутабельным. Однако можно определить начальное состояние приложения, добавив декоратор "@State()" к классу состояния и указав значения по умолчанию. Когда приложение запускается, этот начальный стейт становится доступным во всем приложении и любые изменения, внесенные в состояние, будут отслеживаться и обновлять представления.

Действия (Actions) в NGXS представляют собой объекты, которые описывают какие-либо события или запросы на изменение состояния в приложении. Они диспетчеризуются из компонентов или сервисов с использованием декоратора "@Dispatch()". Когда действие диспетчеризуется, NGXS добавляет его в очередь и выполняет его до следующего обновления представления. Это позволяет приложению реагировать на действия пользователя и изменять состояние приложения соответствующим образом.

Таким образом, разница между APP_INITIALIZER и вызовами Action в NGXS состоит в следующем: APP_INITIALIZER выполняется один раз, перед запуском самого приложения, и используется для предварительной инициализации приложения, включая подключение к серверу, получение настроек или выполнение других операций, которые не связаны непосредственно с изменением состояния приложения. В то же время, вызовы Action предназначены для изменения состояния приложения и инициируются действиями пользователя или внутренними процессами приложения.

Если вам необходимо выполнить какие-либо операции или вызовы до инициализации приложения, вам следует использовать APP_INITIALIZER. Если же вам нужно изменять состояние приложения, в том числе и вызывать Actions, то это следует делать после инициализации приложения.

Надеюсь, эта информация поможет вам лучше понять взаимодействие между APP_INITIALIZER и вызовами Action в NGXS.