【问题标题】:Convert {number, Observable<string>} to Observable<number, string>将 {number, Observable<string>} 转换为 Observable<number, string>
【发布时间】:2021-10-29 16:11:04
【问题描述】:

我想转换类型的对象数组

{
  id: number,
  data: Observable<string>
}

到一个类型的对象数组

Observable<{id: number, data: string}>

尽可能仅使用 RxJS 运算符。

【问题讨论】:

    标签: typescript rxjs


    【解决方案1】:

    如果我理解正确的话,应该是这样的:

    const subject = new Subject<string>();
    
    // Dummy array
    const array = [
      {
        id: 1,
        data: of("smthing")
      }, {
        id: 2,
        data: of("smthingelse")
      }, {
        id: 3,
        data: subject.asObservable()
      }
    ]
    // Function that maps {id: number, data: Observable<string>} into Observable<{id: number, data: string}>
    const mapTo = (array) => array.map(item => item.data.pipe(map(data => ({...item, data}))));
    
    const mappedArray = mapTo(array);
    

    【讨论】:

    • 你是我的英雄!! :)
    • 继续前进:)
    猜你喜欢
    • 2023-03-23
    • 2021-11-28
    • 1970-01-01
    • 2019-07-27
    • 1970-01-01
    • 1970-01-01
    • 2019-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多