RxJS에서 여러 Http 요청의 직렬 및 병렬 처리 방법 정보

3082 단어

mergeMap


mergeMap 조작부호는 내부의 Observable 대상에서 값을 가져와 부모 흐름 대상에게 되돌려줍니다.
  • Observable 객체 병합
  • 1
    2
    3
    4
    5
    6
    import { of } from "rxjs";
    import { mergeMap } from "rxjs/operators";

    const source$ = of("Hello");
    const example$ = source$.pipe(mergeMap(val => of(`${val} World!`)));
    const subscribe = example$.subscribe(val => console.log(val));

    위 예제에는 두 가지 Observable 유형이 있습니다.
  • 소스 Observable 객체, 즉 소스$객체입니다.
  • 내부 Observable 대상, 즉 of${val} World! 대상.

  • 내부 Observable 객체가 값을 보낸 경우에만 소스 Observable 객체가 출력한 값을 병합하고 병합된 값을 최종 출력합니다.

    forkJoin


    forkJoin은 RxJS 버전Promise.all()으로 모든 Observable 대상이 완성된 후에야 한꺼번에 값을 되돌려준다는 뜻이다.
  • 여러 Observable 객체 결합
  • 1
    2
    3
    4
    5
    6
    7
    8
    9
    import { timer, forkJoin } from "rxjs";
    import { mapTo } from "rxjs/operators";

    const getPostOne$ = timer(1000).pipe(mapTo({ id: 1 }));
    const getPostTwo$ = timer(2000).pipe(mapTo({ id: 2 }));

    forkJoin(getPostOne$, getPostTwo$).subscribe(
    res => console.log(res)
    );

     
    원본 주소:https://semlinker.com/rxjs-handle-multi-http-request/
    전재 대상:https://www.cnblogs.com/bomdeyada/p/11510686.html

    좋은 웹페이지 즐겨찾기