我在代码中遇到了一个小问题,这让我感到困惑,希望有人可以解释为什么这样做。
代码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中,我将括号取出,并将任务放在一行上。
我的问题是,为什么我的对象从服务器端回来到来为未定义的代码2与订阅方法angular2同时提供代码1返回我怀疑的对象。
(response:Response) => response.json()
这是此的简写:
(response:Response) => { return response.json(); }
将{}
让你添加多块内的语句。没有它们,该函数仅运行一个语句并返回其值。
文档:https : //developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Arrow_functions
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句