这是http函数
test(siteId: string, eqId: string, viewId: number): Promise<IEquipmentImage[]> {
const getOptions = {
params: {
SiteID: siteId,
EquipmentID: eqId,
ViewID: viewId.toString()
}
};
return <IEquipmentImage[]>await this.http.get(this.equipmentViewConfig.EquipmentImageUrl, getOptions)
.toPromise();
}
它将作为一个承诺返回,但是我在控制台中签入,它返回了这样的内容:
如何仅获取数组值(_zone_symbol_value)?而不是所有这些东西
答案 0 :(得分:1)
如果使用诺言,则可以使用回调函数 .then()获取值,并使用 .catch()处理错误。
如果您需要反应式编程风格,则可以使用可观察值。通过使用 .map(), .subscribe(),您可以在可观察对象的顶部获得该值
在您的代码中,在promise的顶部添加一个回调函数
<IEquipmentImage[]>await this.http.get(this.equipmentViewConfig.EquipmentImageUrl, getOptions)
.toPromise().then(function(response){
//here you will get the value in response object
});
希望这会有所帮助
答案 1 :(得分:1)
尝试更改
<IEquipmentImage[]>await this.http.get(this.equipmentViewConfig.EquipmentImageUrl, getOptions)
.toPromise().then(function(response){
//here you will get the value in response object
});
到
<IEquipmentImage[]>await this.http.get(this.equipmentViewConfig.EquipmentImageUrl, getOptions).map((res: Response) => res.json())
.toPromise().then(function(response){
//here you will get the value in response object
});