Angular HttpClient映射可观察对象数组

时间:2018-02-14 19:48:57

标签: angular typescript rxjs observable

使用角度HttpClient查询对象数组时,将结果的每个对象(Rxjs Observable)映射到另一个对象的最简单方法是什么?

我目前正在执行此操作,但有一种方法可以避免"双重映射"?

在示例中,最终结果需要Observable<Entry[]>,并为每个Entry调用构造函数 - 对象:

public getList(): Observable<Entry[]> {
  const url = "/entries/";
  return this.httpClient.get<Entry[]>(url)
    .map((entries: any[]) => entries.map((e) => new Entry(e)));
}

1 个答案:

答案 0 :(得分:0)

这是最好的方法,没有映射observable和数组的快捷方式,如果Entry有任何其他成员而不是你从api获得的成员,或者某些成员需要进行类型转换(例如,Entry对其构造函数中的数据)。如果没有,则不需要映射。