首页新闻找找看学习计划

angular HttpResponse

0
悬赏园豆:20 [已解决问题] 解决于 2018-12-24 09:57

angular怎么获取HttpResponse类型的 返回值 中的result

我在编译器中打event.body.result 他会显示:{}不存在result 。event.body就是输出的这整个对象

HJumping的主页 HJumping | 初学一级 | 园豆:33
提问于:2018-12-22 13:54
< >
分享
最佳答案
0

angular的HttpResponse是用ts定义的强类型,你的body定义的什么类型?如果body对应的类型上没有result字段是会提示你错误的。

收获园豆:20
blackheart | 小虾三级 |园豆:1752 | 2018-12-22 16:00

如果我没记错的话是可以request<xxx>(req)这样写的,xxx就是你需要定义的类型,这个类型对应有你的api返回的数据接口。

blackheart | 园豆:1752 (小虾三级) | 2018-12-22 16:37

body是这个 但是我不是太能看懂这个什么意思

然后就是你说的request<xxx>(req) 我不是很懂 是不是我返回的类型是number xxx就是number

HJumping | 园豆:33 (初学一级) | 2018-12-22 17:05

@HJumping: body字段是个泛型https://www.tslang.cn/docs/handbook/generics.html,也就是你需要写一个类型来映射你的api返回的数据结构。然后这个类型就是xxx。

比如

class UploadResult{
    public result: string;
    constructor(result: string) { this.result= result; }
}

reqeust<UploadResult>(req)

blackheart | 园豆:1752 (小虾三级) | 2018-12-23 16:47

@HJumping: 如果不想声明,你试试reqeust<any>(req),这回跳过编译检查。

blackheart | 园豆:1752 (小虾三级) | 2018-12-23 16:59

@blackheart: ok 谢谢你

HJumping | 园豆:33 (初学一级) | 2018-12-24 09:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册