zoukankan      html  css  js  c++  java
  • [RxJS] Use groupBy in real RxJS applications

    This lesson will show when to apply groupBy in the real world. This RxJS operator is best suited when a source observable represents many data sources, e.g. an observable for multitouch events.

    const busObservable = Rx.Observable.of(
      {code: 'en-us', value: '-TEST-'},
      {code: 'en-us', value: 'hello'},
      {code: 'es', value: '-TEST-'},
      {code: 'en-us', value: 'amazing'},
      {code: 'pt-br', value: '-TEST-'},
      {code: 'pt-br', value: 'olá'},
      {code: 'es', value: 'hola'},
      {code: 'es', value: 'mundo'},
      {code: 'en-us', value: 'world'},
      {code: 'pt-br', value: 'mundo'},
      {code: 'es', value: 'asombroso'},
      {code: 'pt-br', value: 'maravilhoso'}
    ).concatMap(x => Rx.Observable.of(x).delay(500));
    
    const all = busObservable
      .groupBy(obj => obj.code) // 2-d obs
      .mergeMap(innerObs => innerObs.skip(1).map(obj => obj.value));
    
    all.subscribe(x => console.log(x));
    /*
    "hello"
    "amazing"
    "olá"
    "hola"
    "mundo"
    "world"
    "mundo"
    "asombroso"
    "maravilhoso"
    */
    • The 'groupBy' return a 2-d observable, can use 'switchMap' or 'mergeMap' to conver to 1-d observable.
  • 相关阅读:
    工作中问题的总结1
    linux问题故障
    时间转换
    Tips
    总结
    方向
    同步&异步-阻塞&非阻塞
    IO 之 mark()、reset()
    GC日志分析
    JDK 部分工具使用方法
  • 原文地址:https://www.cnblogs.com/Answer1215/p/6296656.html
Copyright © 2011-2022 走看看