RxJS удерживает наблюдаемое и следующее последнее значение невыразимого

У меня есть два наблюдаемых объекта, один из которых представляет собой наблюдаемые данные, которые содержат данные, и у меня есть один наблюдаемый шкафчик. Когда значение шкафчика имеет значение «блокировка», наблюдаемые данные должны отправлять свои данные своим подписчикам. Когда мы разблокируем наблюдаемые данные, они должны отправить последнее следующее значение подписчикам.

Я включил диаграмму, которая показывает, что я хочу. Когда источник B имеет значение L (заблокирован), он должен хранить значение, когда источник B имеет значение U, он должен передавать значение A и также возвращать последнее известное значение при изменении.

Надеюсь, что кто-то может помочь мне с поиском подходящего оператора для этого.

RxJS удерживает наблюдаемое и следующее последнее значение невыразимого

Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
Promise v/s Observable в Angular
Promise v/s Observable в Angular
В системах Push производитель определяет, когда отправить данные потребителю. Потребитель не знает, когда он получит эти данные.
Подсказка RxJS [filter, skipWhile]
Подсказка RxJS [filter, skipWhile]
Эта подсказка описывает разницу между операторами filter и skipWhile из библиотеки RxJS .
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
1
0
31
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Похоже, вы могли бы сделать это с помощью combineLatest():

combineLatest([lock$, data$])
  .pipe(
    switchMap(([lock, data]) => {
      if (lock === 'L') {
        return EMPTY;
      }
      // When `lock` changes to unlocked then `data` will already have the most recent value from `data$`.
      return of(data);
    }),
   ),

Другие вопросы по теме