eggjs中, 如何在 js中获取 ctx.state 的数据
发布于 6 年前 作者 a304885433 5089 次浏览 来自 问答

不知道怎么描述,举个实际场景。 orm 采用的是 egg-sequelize, 在批量插入的hook里,我想获取 this.ctx.state.user.id ,但是不知道怎么获取。 当然也可以说,自定义js函数,无法通过正常途径获取 app, context对象,那么怎么去获取对象的数据,或者调用对象上的方法。

不知道表述清楚没有。。。

在其他语言中, 比如 C# 可以写如下代码

HttpContext.Current.Sesstion['xxxxx']

在请求会话生命周期类,任何地方都可以获取Http当前上下文,以此来获得里面的数据。

在nodejs里,如何写,请教大家,先谢过。

5 回复

根据你的前端模板引擎来获取啊,

@five6 主要是后台要获取 前端获取有很多方案 随便整都行

自定义的函数将app或者ctx当做参数传进去啊

来自酷炫的 CNodeMD

@zhangmingfeng 自定义的函数我还能有办法这样做,但是如果是现有插件的hook类方法,是无法传参的,这种场景有办法吗

@a304885433 可以通过bind方法实现,将app或者ctx bind到你那个hook方法,这样在hook方法里就可以直接使用this获取到了,但是这样就覆盖了hook方法本身的this对象,请百度bind的使用方式

来自酷炫的 CNodeMD

回到顶部