在 es6 中,如果函数中有条件,我们是否需要添加 `return` 文字

in es6 do we need to add `return` literal, if there are conditions within function

就我用过的es6而言;我开始知道在这我们可以省略 return

这样的文字
.then((res) => res.body } // equivalent to return res.body

所以我的问题是,如果函数中有多个条件,那么我们是否需要在条件中写入 return 或它会完成它的工作? (意味着功能将在没有 return 的情况下执行)

.then((res) => {
    if (some_codition) {
        res.send();
    } else {
        if (other_condition)
            res.status(200).json(user);
        else
            res.status(404).json(user);
    }
})

以上是否有效,或者我是否需要添加 return 作为最佳实践?

.then((res) => (somecodition) ?
                        res.send()
                    :
                        res.status(200).json(user)
      )

试试看...

是的,您必须手动 return 一个值。如果你不这样做,它会 return undefined.

始终return在 Promise 中赋值是个好主意,因为允许链接。如果您 return 什么都没有(未定义),您的承诺链将不会从该点向内继续。

在这种特定情况下,它可能对您有用,因为您正在调用 "side-effect" 函数,这是您的网络服务器响应 fn。

区别在于箭头后面有没有大括号

.then(res => res.x)  // Works
.then(res => {return res.x;})  // Works
.then(res => {res.x;})  // Your function returns undefined.