Могу ли я создать новый поток из существующего потока в rxjs

Например, у меня есть поток, в котором есть несколько чисел, например 1,2,3,4 и так далее. Я хочу ощутить каждую из этих данных, и всякий раз, когда я хочу передать истину в другом потоке данных. сохраняя исходную структуру данных [1,2,3,4] как есть.


person Sudhir Kumar    schedule 23.07.2020    source источник
comment
В вашем вопросе не хватает информации и он вообще не ясен.   -  person noririco    schedule 23.07.2020
comment
Конечно вы можете   -  person martin    schedule 23.07.2020
comment
@noririco, Например, у меня есть поток, в котором количество чисел, скажем, 1,2,3,4 и так далее, и я хочу выдавать новые данные всякий раз, когда он даже сохраняет поток исходных данных [1,2,3,4] как Это.   -  person Sudhir Kumar    schedule 23.07.2020
comment
Я узнал, что могу сделать это с помощью другого SubjectObservable. нажмите на все отправленные данные из исходного потока и проверьте условие, и на основе этого объекта будут выданы новые данные.   -  person Sudhir Kumar    schedule 23.07.2020
comment
Ваш вопрос немного неясен, но, на мой взгляд, вы должны прочитать о различиях между холодными и горячими Observables, вы читали об этом здесь   -  person Tal Ohana    schedule 23.07.2020
comment
@ohana ive добавил больше деталей. Надеюсь, теперь все ясно.   -  person Sudhir Kumar    schedule 23.07.2020


Ответы (1)


Предлагаю вам поделиться своим источником и дважды подписаться на него.


  ...

  private source$ = of(1,2,3,4,5,6).pipe(share());
  
  private evenNumberObservable$ = this.source$.pipe(
    map(x => x % 2 === 0),
    filter(x => !!x)
  );

  //or
  //private evenNumberObservable$ = this.source$.pipe(
  //  filter(x => x % 2 === 0),
  //  map(x => true)
  //);

  public ngOnInit() {
    this.evenNumberObservable$.subscribe(x => console.log(x));
    this.source$.subscribe(x => console.log(x))
  }

  ...

весь код

person bubbles    schedule 23.07.2020