zoukankan      html  css  js  c++  java
  • 关于RxJS 处理多个Http请求 串行与并行方法

    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 对象 —— 即 source$ 对象。
    • 内部 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/

  • 相关阅读:
    Shiro权限验证
    5种设计模式整理
    多模块的SpringBoot项目
    Go使用数据库
    使用Go mod
    docker基本使用
    Go的IO操作
    实现一个网盘存储……
    Go的网络编程
    学习golang的历程
  • 原文地址:https://www.cnblogs.com/bomdeyada/p/11510686.html
Copyright © 2011-2022 走看看