angular - "as"中的 "response.json() as Hero[]"有什么作用?

标签 angular

有时我可以看到一些代码像这样处理 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 对象是否可以转换为我的自定义类?

最佳答案

因为关键字正在转换

r.json().data as Hero[]

来自服务器的响应。预计对象列表从服务器返回。 这段代码只是类型转换。

它会将该列表转换为英雄对象数组。 服务器以 json 格式返回值

关于angular - "as"中的 "response.json() as Hero[]"有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40500157/

相关文章:

javascript - Material Design Slide Toggle 没有 event.StopPropagation,我应该使用什么?

javascript - Angular2 beta 7 上的 HashLocationStrategy

html - Angular : Cannot locate two p-col-6 side by side in PrimeNG FlexGrid

javascript - 谷歌地图创建隐藏的 div 并在内部跨越值 BESbswy 并降低 Angular 性能

javascript - 当 key 未知时在 ngFor 中解析嵌套的 JSON

javascript - Angular 等待变量初始化

angular - 带 Angular 视频

html - 在 typescript 中带有 foreach 的模板电子邮件 html

javascript - Angular2 输入类型数字,无十进制值

javascript - 根据数组长度多次复制对象 - Angular 2+/JavaScript