Есть ли способ подписаться на одно и то же значение все время без перерыва на подписку? - PullRequest
0 голосов
/ 19 сентября 2019

Я подписываюсь на значение из редуктора, где оно всегда будет true.когда я впервые подписываюсь, это работает.но в следующий раз это не так.из моего исследования всегда значение true, если я изменяю значение на false, тогда оно отлично работает.

, поэтому подписчик ожидает, что другое значение будет наблюдателем или отписаться.в настоящее время я делаю так:

this.store.dispatch(new actionsMc.CheckConcurrencySuccess(false));
this.store.dispatch(new actionsMc.CheckConcurrency(true));

, хотя мне нужно было передать true, всегда я делаю выше, чтобы подписаться на мое обновление.вместо этой работы каким-либо другим способом есть rxjs, кто-нибудь мне поможет?

в подписке, которую я пробовал с take once, но она не работает дальше.но ищу какую-то другую работу.

вот моя подписка:

this.store.pipe(last(select(subscribe.newvalue))).subscribe(res => {
   console.log('new res', res);
}) 

но не работает.а как просто подписаться и отписаться на каждое полученное значение?

1 Ответ

1 голос
/ 19 сентября 2019

Если я вас правильно понял, вы говорите, что, хотя данные в магазине обновлены до «true», вы не будете уведомлены об этом в своей подписке.Это связано с тем, что store автоматически сравнивает новые и предыдущие значения и запускает .next (), только если значения не равны.

Самое простое решение для вас - заключить булево поле в вашем магазине в объект (или массив: [логическое] вместо логического), чтобы вы получали уведомление при каждом его обновлении.

...