Comments (12)
搞一个 Symbol 然后挂到全局类似于 global[Symbol.for('egg#ctxStorage')]
?
from egg.
搞一个 Symbol 然后挂到全局类似于
global[Symbol.for('egg#ctxStorage')]
?
好像可以哦,就算多个 app 实例,共用一个 als 似乎也是可以正常工作的。
from egg.
egg >= 2.x 都支持从 gals 获取了。
from egg.
https://github.com/search?q=org%3Aeggjs+AsyncLocalStorage&type=pullrequests
Line 740 in ad6c06a
可以参考下
from egg.
https://github.com/search?q=org%3Aeggjs+AsyncLocalStorage&type=pullrequests
Line 740 in ad6c06a
可以参考下
你好,这个方式应该也需要类继承对应的Application吧,如果是不继承呢,全局任意一个地方可以拿的
from egg.
可以覆盖 koa 的 application 基类实现 https://github.com/eggjs/egg-core/blob/798d976017a510d155344b0a03d407ce615f20cf/lib/egg.js#L43
from egg.
我也遇到一样的问题,希望ctxStorage能够在任意地方获取到,场景是一些sdk需要拿到当前的上下文ctx。
目前没想到比较好的方法来解决这个问题。
ctxStorage是不是应该设计为在任意地方都能方便地获取到呢?
from egg.
只要拿到 app 就能获取到 app.ctxStorage 了
from egg.
在 egg app 初始化之后,对 global 对象做赋值 https://github.com/koajs/koa/blob/v2.x/lib/application.js#L71 ,实现全局获取当前 als 能力。
from egg.
@ljj0915 可以通过 global[Symbol.for('egg#ctxStorage')]
获取了。
使用 https://github.com/node-modules/gals 库可以获得,统一封装。
from egg.
@ljj0915
可以通过global[Symbol.for('egg#ctxStorage')]
获取了。使用 https://github.com/node-modules/gals 库可以获得,统一封装。
后来我自己使用AsyncLocalStorage,全局定义了一个,每次进来,在中间件里面,把next()包进去,后续任意一个地方都可以拿到了。差不多
from egg.
优秀!可以愉快地进行异步上下文追踪了~
from egg.
Related Issues (20)
- 视频资源放在public目录下面报错
- GET 请求带 gzip body 会导致非法异常 HOT 4
- multipart多文件上传 HOT 1
- egg_amqplib 连接中断后导致程序异常退出 HOT 1
- 七牛云拉取文件始终返回404 HOT 10
- 使用ts时tsconfig.json文件配置module只能使用CommonJS,使用ES会报错 HOT 1
- 日志切割后不是 .log 后缀, vscode 不高亮啊
- 国际化用voerkai18n实现,在中间件处理切换语言时,yarn test测试环境不生效,请问会不会是eggjs影响的? HOT 1
- 如何升级babel 7?
- jsx as tpl HOT 1
- new version available: 2.3.1 → 3.0.0, not compatible, you must update to use this. HOT 4
- egg-bin 5以上的版本设置端口无效
- 传闻Eggjs不再维护了,是真的吗? HOT 4
- new version available: 2.3.1 → 3.0.0, not compatible, you must update to use this. HOT 7
- 同一个方法在放在eggjs服务schedule 定时模块里面执行就可以获取的到inputElem,但是放到controller模块里面通过接口调用时获取不到呢,再express里面也可以成功调用,debug模式可能获取得到 HOT 3
- v3的文档多会更新,EggLogger 怎么用????? HOT 3
- 使用问题: 请问如何在egg应用下运行脚本,以及如何在脚本中使用app中的service,helper,db等能力 HOT 1
- egg-mysql能配置连接断开后自动重连吗
- eggjs 在容器通过前台启动,如何将stdout和stderr日志输出到日志文件 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from egg.