req.session也是赋值成空对象 这样意义何在?

来源:7-6 session介绍

你是魔鬼嘛_dev

2020-04-25

SESSION_DATA[userID] = {}
此时SESSION_DATA[userID]是空对象
然后req.session = SESSION_DATA[userID]之后,req.session也是空对象
这样意义而在?

    //解析session
    const userID = req.cookie.userid
    if (userID) {
        if (!SESSION_DATA[userID]) {
            SESSION_DATA[userID] = {}
        } 
    } else {
        userID = `${Date.now()}_${Math.random}`
        SESSION_DATA[userID] = {}
    }
    req.session = SESSION_DATA[userID]

写回答

1回答

双越

2020-04-25

这样定义完之后,你再往 req.session 添加新的属性时,也会自动添加到 SESSION_DATA[userID] 中。因为这两个,指向的是同一个对象,引用类型。这样就起到了用 SESSION_DATA 存储用户信息的效果。

1
0

Node.js+Express+Koa2+Nest.js 开发服务端

从入门到实战,一站式掌握 Node.js+Express+Koa2

4051 学习 · 2006 问题

查看课程