Vic*_* Le 6 javascript ecmascript-6 angular
我在代码中遇到了一个小问题,这让我感到困惑,并希望有人可以解释为什么会这样做.
代码1
sendText(){
return this.http.get('/api')
.map((response:Response) => response.json());
}
Run Code Online (Sandbox Code Playgroud)
代码2
sendText(){
return this.http.get('/api').map((response:Response) => {
response.json();
});
}
Run Code Online (Sandbox Code Playgroud)
这两个代码之间的关键区别在于,在代码2中,我在箭头函数之后放置了括号,将我的任务添加到这些括号中,在代码1中,我将括号取出并将任务放在一行上.
我的问题是,为什么不从服务器端回来为未定义在未来我的目标代码2与angular2而提供的订阅方法代码1返回我怀疑的对象.
Roc*_*mat 12
(response:Response) => response.json()
Run Code Online (Sandbox Code Playgroud)
这是此的简写:
(response:Response) => { return response.json(); }
Run Code Online (Sandbox Code Playgroud)
将{}让你添加多块内的语句.没有它们,该函数只运行一个语句并返回其值.
文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions
| 归档时间: |
|
| 查看次数: |
2192 次 |
| 最近记录: |