【发布时间】:2016-12-08 10:00:18
【问题描述】:
我在代码中遇到了一个小问题,这让我有点困惑,希望有人能解释为什么它会这样做。
代码 1
sendText(){
return this.http.get('/api')
.map((response:Response) => response.json());
}
代码 2
sendText(){
return this.http.get('/api').map((response:Response) => {
response.json();
});
}
这两个代码之间的主要区别在于,在 代码 2 中,我将括号放在箭头函数之后,以便在这些括号内添加我的任务,而在 代码 1 中,我使用了把括号拿出来,把任务放在一行上。
我的问题是为什么来自服务器端的对象在 Code2 中使用 angular2 提供的 subscribe 方法返回为未定义,而 Code1 返回我怀疑的对象。
【问题讨论】:
-
使用大括号,您必须使用
return,就像在经典函数中一样。 -
不带括号:表达式。带括号:代码块。
标签: javascript angular ecmascript-6