加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angular – “response.json()中的”as“与Hero []”有什么关系

发布时间:2020-12-17 17:27:26 所属栏目:安全 来源:网络整理
导读:有时我可以看到一些代码处理http响应,如下所示: f(): ObservableHero[] { return this.http.get('local.host').map((response: Response) = response.json().data as Hero[]);} 和英雄是 export class Hero { id: number; name: string;} 是什么 r.json().d
有时我可以看到一些代码处理http响应,如下所示:

f(): Observable<Hero[]> {
    return this.http.get('local.host').map((response: Response) => response.json().data as Hero[]);
}

和英雄是

export class Hero {
    id: number;
    name: string;
}

是什么

r.json().data as Hero[]

意思?

但据我所知,现在没有直接函数将json对象转换为ts对象,关键字“as”用于将json对象转换为自定义ts对象吗?如果是的话,我可以写

var myClass=r.json()  as MyClass;
if(!myClass){
    //error
}

检查json对象是否可以转换为我的自定义类?

解决方法

正如@HarryNinh所说

TypeScript 1.6 introduces a new .tsx file extension. This extension does two things: it enables JSX inside of TypeScript files,and it makes the new as operator the default way to cast (removing any ambiguity between JSX expressions and the TypeScript prefix cast operator). For example:

var x = <any> foo;
// is equivalent to:
var x = foo as any;

参考:Typescript 1.6 ChangeLog

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读