소스 Observable이 완료되기 전에`merge` 연산자가 완료되는 이유는 무엇입니까?

로베르타 카 로빈

두 개의 소스 옵저버 블이 있고 완료 여부에 관계없이 둘 중 하나가 값을 방출 할 때 무언가를하고 싶습니다.

const observable1$ = interval(1000);
const observable2$ = interval(2000);
const onEither$ = merge([
  observable1$,
  observable2$,
]);

observable1$.pipe(tap(() => console.log('observable1 emit')), finalize(() => console.log('observable1 complete'))).subscribe();
observable2$.pipe(tap(() => console.log('observable2 emit')), finalize(() => console.log('observable2 complete'))).subscribe();
onEither$.pipe(tap(() => console.log('onEither emit')), finalize(() => console.log('onEither complete'))).subscribe();

내가보고있는 것은 :

onEither emit
onEither complete
observable1 emit
observable2 emit
...(observable1 and 2 repeat)

내 이해는 모든 소스 관찰 가능 항목이 완료되었을 때만 병합이 완료된다는 것입니다. 그렇다면 왜 onEither가 완료됩니까?

폴 크루이 트

병합에 배열을 전달하기 때문입니다. 매개 변수 목록이어야합니다. 로 변경:

const onEither$ = merge(
  observable1$,
  observable2$,
);

이것이 완료되는 이유는 내부적으로 rxjs가 from배열을 관찰 가능한 배열 요소의 스트림으로 변환하는 메서드를 호출하기 때문 입니다. 따라서 기본적으로 onEither$두 개의 방출을 수신하고 있으며 이는 배열에서 두 관찰 가능한 객체의 값을 가지고 있습니다. 그것들이 방출 된 후 관찰 가능 항목이 완료됩니다.

배열의 관찰 가능 항목은 값으로 사용되며 실제로 구독되지 않으므로 변경되지 않습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

생산자 스레드가 완료되기 전에 소비자 스레드가 중지되는 이유는 무엇입니까?

분류에서Dev

내 (효소 시뮬레이션 이벤트) 동기 이벤트 처리기 전에 테스트가 완료되는 이유는 무엇입니까?

분류에서Dev

요청을 완료하기 전에 Lambda 함수가 종료되는 이유는 무엇입니까?

분류에서Dev

이 작업이 완료되기 전에 코드가 실행되는 이유는 무엇입니까?

분류에서Dev

작업이 완료되기 전에 스레드가 종료되는 것을 방지하는 방법은 무엇입니까?

분류에서Dev

메서드가 완료되기 전에 인스턴스 메서드에서 약한 멤버가 null이 될 수있는 이유는 무엇입니까?

분류에서Dev

Drone CI : Selenium을 사용하는 npm 스크립트 실행이 완료되기 전에 종료되는 이유는 무엇입니까?

분류에서Dev

FakeAsync를 사용하는이 테스트가 미래가 완료 되었음에도 "대기"상태에있는 이유는 무엇입니까?

분류에서Dev

PassthroughSubject가 .finished로 완료되는 이유는 무엇입니까?

분류에서Dev

CSS 전환이 완료되기 전에 실행되는 자바 스크립트

분류에서Dev

비동기가 작업을 완료하기 전에 프로그램이 종료되는 이유는 무엇입니까?

분류에서Dev

이벤트 리스너가 완료된 후에 만 DOM 요소가 업데이트되는 이유는 무엇입니까? (순수 js)

분류에서Dev

주 스레드 이전에 다른 모든 스레드가 완료 되었는데도 .join이 여전히 필요한 이유는 무엇입니까?

분류에서Dev

콜백이 완료되기 전에 자바 스크립트 함수 완료

분류에서Dev

이 스레드가 자체적으로 완료되지 않는 이유는 무엇입니까?

분류에서Dev

HttpClient.PostAsync ()가 Cosnole 애플리케이션에서 완료되지 않고 웹 애플리케이션에서 완료되는 이유는 무엇입니까?

분류에서Dev

완료 이벤트로 인해이 테스트가 통과되지 않는 이유는 무엇입니까?

분류에서Dev

ajax 호출이 완료되기 전에 메소드가 실행 중입니다.

분류에서Dev

pthread_join이 차단되지 않고 스레드가 완료되기를 기다리는 이유는 무엇입니까?

분류에서Dev

지연없이 실행하면 (Android에서) 작업이 완료되지 않은 이유는 무엇입니까?

분류에서Dev

(aws-amplify) 업로드가 완료된 경우에만 progressCallback이 실행되는 이유는 무엇입니까?

분류에서Dev

Await.result를 수행 할 때 Scala Async 테스트가 완료되지 않는 이유는 무엇입니까?

분류에서Dev

사용자 지정 upstart 작업 이름 탭이 서비스 명령에서 완료되지 않는 이유는 무엇입니까?

분류에서Dev

사용자 지정 upstart 작업 이름 탭이 서비스 명령에서 완료되지 않는 이유는 무엇입니까?

분류에서Dev

지시문이 데이터로 초기화되기 전에 서비스의 $ http.get이 완료되는지 확인하는 방법은 무엇입니까?

분류에서Dev

Slackware-current에서 Libvirt 및 bash 완료 : 도메인이 완료되지 않은 이유는 무엇입니까?

분류에서Dev

GattDeviceService.FromIdASync ()가 완료되지 않는 이유는 무엇입니까?

분류에서Dev

NodeJS는 기능이 완료되기 전에 응답합니다.

분류에서Dev

func collectionView는 dataTask () 메소드가 완료되기 전에 호출됩니다.

Related 관련 기사

  1. 1

    생산자 스레드가 완료되기 전에 소비자 스레드가 중지되는 이유는 무엇입니까?

  2. 2

    내 (효소 시뮬레이션 이벤트) 동기 이벤트 처리기 전에 테스트가 완료되는 이유는 무엇입니까?

  3. 3

    요청을 완료하기 전에 Lambda 함수가 종료되는 이유는 무엇입니까?

  4. 4

    이 작업이 완료되기 전에 코드가 실행되는 이유는 무엇입니까?

  5. 5

    작업이 완료되기 전에 스레드가 종료되는 것을 방지하는 방법은 무엇입니까?

  6. 6

    메서드가 완료되기 전에 인스턴스 메서드에서 약한 멤버가 null이 될 수있는 이유는 무엇입니까?

  7. 7

    Drone CI : Selenium을 사용하는 npm 스크립트 실행이 완료되기 전에 종료되는 이유는 무엇입니까?

  8. 8

    FakeAsync를 사용하는이 테스트가 미래가 완료 되었음에도 "대기"상태에있는 이유는 무엇입니까?

  9. 9

    PassthroughSubject가 .finished로 완료되는 이유는 무엇입니까?

  10. 10

    CSS 전환이 완료되기 전에 실행되는 자바 스크립트

  11. 11

    비동기가 작업을 완료하기 전에 프로그램이 종료되는 이유는 무엇입니까?

  12. 12

    이벤트 리스너가 완료된 후에 만 DOM 요소가 업데이트되는 이유는 무엇입니까? (순수 js)

  13. 13

    주 스레드 이전에 다른 모든 스레드가 완료 되었는데도 .join이 여전히 필요한 이유는 무엇입니까?

  14. 14

    콜백이 완료되기 전에 자바 스크립트 함수 완료

  15. 15

    이 스레드가 자체적으로 완료되지 않는 이유는 무엇입니까?

  16. 16

    HttpClient.PostAsync ()가 Cosnole 애플리케이션에서 완료되지 않고 웹 애플리케이션에서 완료되는 이유는 무엇입니까?

  17. 17

    완료 이벤트로 인해이 테스트가 통과되지 않는 이유는 무엇입니까?

  18. 18

    ajax 호출이 완료되기 전에 메소드가 실행 중입니다.

  19. 19

    pthread_join이 차단되지 않고 스레드가 완료되기를 기다리는 이유는 무엇입니까?

  20. 20

    지연없이 실행하면 (Android에서) 작업이 완료되지 않은 이유는 무엇입니까?

  21. 21

    (aws-amplify) 업로드가 완료된 경우에만 progressCallback이 실행되는 이유는 무엇입니까?

  22. 22

    Await.result를 수행 할 때 Scala Async 테스트가 완료되지 않는 이유는 무엇입니까?

  23. 23

    사용자 지정 upstart 작업 이름 탭이 서비스 명령에서 완료되지 않는 이유는 무엇입니까?

  24. 24

    사용자 지정 upstart 작업 이름 탭이 서비스 명령에서 완료되지 않는 이유는 무엇입니까?

  25. 25

    지시문이 데이터로 초기화되기 전에 서비스의 $ http.get이 완료되는지 확인하는 방법은 무엇입니까?

  26. 26

    Slackware-current에서 Libvirt 및 bash 완료 : 도메인이 완료되지 않은 이유는 무엇입니까?

  27. 27

    GattDeviceService.FromIdASync ()가 완료되지 않는 이유는 무엇입니까?

  28. 28

    NodeJS는 기능이 완료되기 전에 응답합니다.

  29. 29

    func collectionView는 dataTask () 메소드가 완료되기 전에 호출됩니다.

뜨겁다태그

보관