1
不久前,我開始開發Typescript & C#,而以前我的大部分開發都是使用javascript + php。 我正在開發一個角度2應用程序,並創建了一個HTTP服務。 我在這裏討論的問題具有比下面的代碼角2.爲什麼Typescript lambda函數被大括號破壞?
更多的是打字稿:
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()
});
所以我可以做更多的操作,但這種剎車的JSON對象上的代碼,並導致一個未定義的錯誤定義通過res.json()。
問題是,爲什麼添加大括號可以剎住這個簡單的功能? 不是帶範圍的lambda函數大括號是該語言的內置功能嗎?
由於這個解決它,我並沒有意識到,返回值也可能是隱含推斷,這聽起來好像一個不好的做法。 – wagwanJahMan