关于sessionData=null的设置

来源:7-14 session存入redis

慕前端7432760

2019-08-01

写回答

2回答

双越

2019-08-01

建议你先吧代码格式化一下,这样看着好难受。PS:提问时格式化代码也是程序猿的必备技能。

0
3
慕前端7432760
非常感谢!
2019-08-02
共3条回复

慕前端7432760

提问者

2019-08-01

//解析session(使用redis)
let needSetCookie=false
let userId=req.cookie.userid
if(!userId){
        needSetCookie=true
        userId=${Date.now()}_${Math.random()}
        //初始化redis中的session值
        set(userId,{})
}


//获取session
req.sessionId=userId
get(req.sessionId).then(sessionData=>{
        if(sessionData==null){
                //初始化redis中的session值
                set(req.sessionId,{})
                //设置session
                req.session={}
        }else{
                req.session=sessionData
        }
        console.log(req.session)

       //处理post data
       return getPostData(req)
})

----------------------------------分割线----------------------------------
if(sessionData==null){
        //初始化redis中的session值
        set(req.sessionId,{})
        //设置session
        req.session={}
}

感觉这一段代码好像一直不用进去,因为当上面!userId成立的时候,相当于已经将sessionId对应的sessionData设置为空对象了,这样的话就一直都不为null了吧?



0
1
双越
有一种情况。浏览器 cookie 没有过期,userid 还在。但是,server 中的 session 被清空了。就会走到 if (sessionData == null) { ... } 里面了。
2019-08-01
共1条回复

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

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

4052 学习 · 2007 问题

查看课程