关于 ctx.state.user 并发的处理的一个问题?
来源:8-7 自己编写 Koa 中间件实现用户认证与授权
Kysonleung
2021-06-12

我看 ctx 应该是相当于一个全局的变量,以 JS 单线程的特性来看,如果同时并发有一千个请求进来,对 ctx.state.user 赋值,到最后是不是这个值是不可预测的?而且 auth 作为一个异步的中间件,在它内部处理其他中间件的时候 auth 会让出当前 CPU 的资源,这个时候如果另一个请求进来了,完全有时间去修改 ctx.state.user 里面的值。所以在高并发的情景先对 ctx.state.user 赋值,它最终的结果究竟是什么?
写回答
1回答
-
lewis
2021-06-13
ctx不是单例,你说的这个问题不存在。
00
相似问题