请问 koa2 controllers 怎样处理全局变量或者支持多个用户同时访问网页?
大家好, 我第一次接触nodejs,正在写一个类似问卷调查的网站,在controllers中需要用一些全局变量来保存用户的结果,但是这些全局变量应该怎样处理呢? 我目前的办法是在controllers 中声明全局变量,比如: var result = []; var post_start = async (ctx, next) => { ... }); var post_next = async (ctx, next) => { result.push(ctx.body.request.xxx) ... }); 但是这样写的问题就是,当一个用户填到一半,另一个用户也来访问网页的时候,会引起全局变量值的冲突,所以我想能不能给每一个用户单独绑定一份这些变量呢? 于是我想到了用 ctx 传递参数,我参考文档,把参数绑定到 ctx.state 中,但是发现不行,比如在第一个 async() 函数中绑定,到下一个 async() 就没有这些变量了。
请问大家,我应该怎样解决这个问题? 这个问题核心是为了解决多个用户同时访问网页的问题,除了以上问题,是否有什么多线程的处理办法? 感激不尽!
3 回复