我开始开发Typescript&不久前的C#,而我以前的大多数开发都是用javascript + php。 我正在开发一个角度2应用程序,并创建了一个HTTP服务。 我在这里讨论的问题与Typescript有关,而与angular 2有关。
在以下代码中:
export class HttpRest{
constructor(
private _http: Http,
private userIdsx: UserIds,
private _jsonFormater: JsonFormater
){}
...
getGroupsList(){
return this._http.get('file.json')
.map(res => res.json());
}
...
}
我传递一个带有单个语句的匿名lambda函数,我想添加花括号来创建一个函数作用域,但是当我这样做时,事情就会被破坏。
我试图重构:
.map(res => res.json());
要:
.map((res) => {
res.json()
});
所以我可以做更多的操作,但这会使代码失效并导致res.json()定义的JSON对象出现未定义的错误。
问题是,为什么添加花括号会制动这个简单的功能? isn< lambda函数与范围花括号是语言的内置特征吗?
答案 0 :(得分:2)
使用以下内容。你需要归还一些东西。
.map((res) => {
return res.json()
});
使用简洁的正文版本(没有大括号),它隐含地完成了......