怎么通过请求上下文异步传递信息

350 天前
 ddddad

目前使用了 express-http-context2 , 但是感觉有 bug ,在后续中无法获取设置的值

const app = express();
app.use(middleware); // use http context

if (!excludeAuth(req)) {
	await verifyJWT(req, resp);
console.log(get(HTTP_CONTEXT.ORG_ID));
}

1428 次点击
所在节点    Node.js
3 条回复
leopod1995
350 天前
https://www.npmjs.com/package/express-http-context

感觉可能是写法问题? 检查版本
1. Install: npm install --save express-http-context
(Note: For node v4-7, use the legacy version: npm install --save express-http-context@<1.0.0)

2. Make sure you require express-http-context in the first row of your app. Some popular packages use async which breaks CLS.

3. Node 10.0.x - 10.3.x are not supported. V8 version 6.6 introduced a bug that breaks async_hooks during async/await. Node 10.4.x uses V8 v6.7 in which the bug is fixed. See: https://github.com/nodejs/node/issues/20274.
ddddad
348 天前
后面尝试了下,设置值不在 await 方法里可以获取,可能是跟这个上下是基于回调有关系,具体原因还没搞明白

ps:感谢楼上
stabc
337 天前
没必要用这个插件啊,直接用 asynclocalstorage 一样简单,还可以自定义 type

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1007254

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX