Я думаю, вы можете сделать так:
- Объедините 2 действия:
NewsActions.GET_ALERT_ARTICLES_REQUEST
и NewsActions.GET_ALERT_FILTER_REQUEST
в одно, может быть, NewsActions.GET_ALERT_FILTER_AND_ARTICLES_REQUEST
- Ваши 2 эффекта теперь слушают одно и то же действие
NewsActions.GET_ALERT_FILTER_AND_ARTICLES_REQUEST
- Когда вы отправляете действие
NewsActions.GET_ALERT_FILTER_SUCCESS
, вы должны сохранить необходимый параметр для эффекта getAlertArticles$
в магазине.
- В свой эффект
getAlertArticles$
добавьте следующую цепочку после .ofType(NewsActions.GET_ALERT_FILTER_AND_ARTICLES_REQUEST)
:
Вот код:
getAlertArticles$ = this.actions$
.ofType(NewsActions.GET_ALERT_FILTER_AND_ARTICLES_REQUEST)
.combineLatest(this.store.select(fromNews.getYourNeededData)
.filter(data => !isEmpty(data))
.pipe(
switchMap(([action, data]: [NewsActions.GetAlertFilterAndArticlesRequest, YourDataFormat]) => //do your request here),