Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么Typescript lambda函数会被大括号打断?_Javascript_Json_Typescript_Angular - Fatal编程技术网

Javascript 为什么Typescript lambda函数会被大括号打断?

Javascript 为什么Typescript lambda函数会被大括号打断?,javascript,json,typescript,angular,Javascript,Json,Typescript,Angular,不久前,我开始开发Typescript&C,而以前我的大部分开发都是使用javascript+php。 我正在开发angular 2应用程序,并创建了一个HTTP服务。 我在这里讨论的问题更多地与Typescript有关,而不是angular 2 在以下代码中: export class HttpRest{ constructor( private _http: Http, private userIdsx: UserIds, private

不久前,我开始开发Typescript&C,而以前我的大部分开发都是使用javascript+php。 我正在开发angular 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());
致:

因此,我可以执行更多操作,但这会停止代码并导致由res.JSON()定义的JSON对象上出现未定义的错误

问题是,为什么添加花括号会阻止这个简单的功能?
具有范围花括号的lambda函数不是该语言的内置功能吗?

使用以下方法。你需要归还一些东西

.map((res) => {
  return res.json()
});

使用简明的正文版本(没有花括号),它是隐式完成的…

感谢这解决了它,我没有意识到返回值也可以隐式推断,在我看来这是一个糟糕的做法。
.map((res) => {
  return res.json()
});