Rx JS: испускать новое значение всякий раз, когда все предметы излучают истину - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть две темы: networkStateSubject и authStateSubject.

networkStateSubject испускает boolean значение:

true, если сетевое подключение включено,

false, если сетевое подключение отключено.

authStateSubject испускает boolean значение:

true, если пользователь вошел в систему,

false, если пользователь вышел из системы.

Мне нужно объединить эти два субъекта, чтобы всякий раз, когда оба их значения равны true, новое значение (void) излучалось из комбинированной наблюдаемой .

Ответы [ 2 ]

2 голосов
/ 21 апреля 2020

Вы можете использовать combineLatest и filter, чтобы проверить оба значения.

const connectedAndAuth$ = combineLatest([networkStateSubject, authStateSubject])
   .pipe(
      filter(([isConnected, isAuth]) => isConnected && isAuth),
      map(_ => 1) //what do you mean emit a void value?
   );
1 голос
/ 21 апреля 2020

Я бы использовал ОбъединитьПоследние с селектором networkStateSubject && authStateSubject, а затем отфильтровал бы истинные

...