请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答

2回答

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

0 回复 有任何疑惑可以回复我~
  • 提问者 慕前端7432760 #1
    格式化完了,上面重发了个回复
    回复 有任何疑惑可以回复我~ 2019-08-01 22:22:17
  • 双越 回复 提问者 慕前端7432760 #2
    你可以参考 http://coding.imooc.com/learn/questiondetail/126314.html 的代码格式化,看下。
    回复 有任何疑惑可以回复我~ 2019-08-01 23:28:13
  • 提问者 慕前端7432760 #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-08-02 10:43:54
提问者 慕前端7432760 2019-08-01 22:18:34

//解析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 23:27:36
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号