【发布时间】:2021-03-18 13:45:08
【问题描述】:
我有一个服务来获取属性列表,在该服务中我使用 map 修改响应并将最终数组作为 Observable 返回。
但是我如何才能将最终数组作为简单的 JSON 从服务获取到我的组件。这是我到目前为止所做的。
服务
getPropertyList(){
let propertyList$ : Observable<any> = this._http.get('http://localhost:3000/...');
return propertyList$.pipe(
map(data => {
// do your transformations
let listArray: Array<any> = data.response.dataset;
listArray.forEach(list => {
list.name = 'jhon deo';
})
return listArray;
})
)
}
组件
this._service.getPropertyList()
.subscribe({
next: (result) => {
console.log(result);
},
error: (err) => {
console.log(err);
}
})
我正在尝试从组件中实现它 -
getData(){
const listData: Array<any> = this._service.getPropertyList();
}
【问题讨论】:
-
getPropertyList不返回一个数组,它返回一个数组的observable。您需要订阅,或在模板中使用| async来解析数组值。参见例如angular.io/guide/observables. -
我试图返回它而不是可观察的。我正在尝试将其作为 json.
-
你不能,因为你从网络调用中获取数据,这是异步的。
标签: angular typescript rxjs