Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 这对当地人来说是个坏习惯吗?(Node.js,express)_Javascript_Node.js_Express - Fatal编程技术网

Javascript 这对当地人来说是个坏习惯吗?(Node.js,express)

Javascript 这对当地人来说是个坏习惯吗?(Node.js,express),javascript,node.js,express,Javascript,Node.js,Express,我想知道在这个代码示例中使用res.locals是否是一种不好的做法,或者如果以这种方式使用它,是否会出现任何问题: app.use((req, res, next) => { const session = req.cookies.session if (session) { db.admin.auth().verifySessionCookie(session, true) .then((decodedData) => {

我想知道在这个代码示例中使用res.locals是否是一种不好的做法,或者如果以这种方式使用它,是否会出现任何问题:

app.use((req, res, next) => {
    const session = req.cookies.session
    if (session) {
        db.admin.auth().verifySessionCookie(session, true)
            .then((decodedData) => {
                res.locals.userId= decodedData.uid
                next();
            })
            .catch(() => {
                res.locals.userId = false
                next();
            })
    } else {
        res.locals.userId = false
        next();
    }

app.get("/", async (req, res) => {
    console.log(res.locals.userId)
    res.render("home.hbs")
})
基本上我:

  • 我在app.use中验证会话cookie(Im使用firebase auth)
  • 我设置res.locals.userId=userId
  • 然后使用我刚刚在应用程序中设置的本地设置

  • (我需要这样做,因为我需要视图中的用户ID,否则我需要运行verifySessionCookie函数2次以获取我想要避免的用户ID)

    res.locals
    被明确设计为一个放置请求处理的后续部分想要/需要使用的东西的地方,并且它通常用于模板呈现。所以,这正是它应该用来做的

    我想知道在这个代码示例中使用res.locals是否是一种不好的做法,或者如果以这种方式使用它,是否会出现任何问题


    不会有坏事发生。这正是
    res.locals
    的作用。请参阅以获得进一步确认。

    res.locals
    被明确设计为放置请求处理的后续部分想要/需要使用的东西的地方,并且通常用于模板呈现。所以,这正是它应该用来做的

    我想知道在这个代码示例中使用res.locals是否是一种不好的做法,或者如果以这种方式使用它,是否会出现任何问题


    不会有坏事发生。这正是
    res.locals
    的作用。请参阅以获得进一步确认。

    是什么让您认为这是一种不好的做法?“用于公开请求级信息,如请求路径名、经过身份验证的用户、用户设置等。”是什么让您认为这是一种不好的做法?as“用于公开请求级信息,如请求路径名、经过身份验证的用户、用户设置等。”