老师您好,ctx的问题

来源:7-11 Github接口代理完善

heZM

2019-05-16

getInitialProps里收到的ctx.req与koa server中的ctx.req有啥区别?为何在getInitialProps里收到的ctx.req中有session。而在拦截器‘/github’中收到的ctx.req没有session;

1、是否是因为下面的代码的作用,只有在没进路由拦截器时才会req设置session?

 server.use(async (ctx,next)=>{
        ctx.req.session = ctx.session
        await handle(ctx.req,ctx.res);
        ctx.respond=false;
    })
    server.listen(3000,()=>{
        console.log('koa server listening on 3000')
    })

2、是否可以把这段设置session的server放在’/github’拦截器前面,该怎么写?
3、以上问题解决的提出是因为我想用这段代码直接进行客户端的github api请求。直接调用request方法,而不是用requestGithub方法;
图片描述

望解答。谢谢

写回答

1回答

Jokcy

2019-05-17

nextjs里面收到的ctx.req就是我们传递给他的koa的ctx.req,他可以拿到session是因为我们调用`handle`之前设置上去,而你在`/github`的地方这个代码还没执行呢。

0
2
Jokcy
回复
heZM
可以的。
2019-05-17
共2条回复

全栈进阶课程 React16.8+Next.js+Koa2一步到位开发Github

学习React/Next.js服务端渲染SSR同构设计方案,理解OAuth登录体系的实现原理

651 学习 · 311 问题

查看课程