带括号的ES6箭头功能

维克多

我在代码中遇到了一个小问题,这让我感到困惑,希望有人可以解释为什么这样做。

代码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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章