Mat*_*nen 7 observable rxjs typescript angular
使用angular HttpClient查询对象数组时,将结果的每个对象(Rxjs Observable)映射到另一个对象的最简单方法是什么?
我目前正在执行以下操作,但是有没有办法避免“双重映射”?
在示例中,最终结果必须Observable<Entry[]>
与为每个Entry
-object 调用的构造函数相同:
public getList(): Observable<Entry[]> {
const url = "/entries/";
return this.httpClient.get<Entry[]>(url)
.map((entries: any[]) => entries.map((e) => new Entry(e)));
}
Run Code Online (Sandbox Code Playgroud)
这是最好的方法,如果 Entry 有任何其他成员而不是从 api 获取的成员,或者如果某些成员需要进行类型转换(例如,Entry 对其中的数据执行某些操作),则没有映射可观察对象和数组的快捷方式构造函数)。如果不是,则不需要映射。