eggjs中, 如何在 js中获取 ctx.state 的数据
 发布于 7 年前  作者 a304885433  5995 次预览  最后一次回复是 7 年前  来自 问答 

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

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

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

HttpContext.Current.Sesstion['xxxxx']

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

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

5 回复
five6

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

a304885433

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

zhangmingfeng

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

来自酷炫的 CNodeMD

a304885433

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

zhangmingfeng

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

来自酷炫的 CNodeMD