this.selectedComponents = items;
console.log('Get my')
console.log(typeof this.selectedComponents)
});
но получается что выводится первый раз undefined потому что dispatch не успевает обновить состояние, и второй раз уже нормально то что нужно.
как быть в данной ситуации? вот так что бы сделал dispatch, подождал и потом селект
А вы не задумывались, что у вас что-то не так происходит в экшене? dispatch это синхронная функция и она никак не может не успеть...
Не совсем понял что не так. Впринципк все правильно происходит. Я вот и написал спросить как мне дождаться выполнения)
Судя по отрезку кода, у вас вызывается диспатч, т.е. диспатчится экшн, эта функция синхронная, после этого вы подписываетесь на какой-то поток, консоль лог в котором отработает, как только этот поток получит какие-то данные, случайно undefined туда попасть не может...
ну вообще на сколько мне известно, js идет построчно и вызывается диспатч, потом подписка на пустой обсервабл, потом диспатч срабатывает и срабатывает снова селект
т.е. у пустого observable нет данных, и он пустой до того момента, пока он не получит state
Обсуждают сегодня