关于Cloudflare Functions中context.data字段的用途咨询
Cloudflare Functions 中 context.data 的定义与使用方法
context.data 是 Cloudflare Functions 请求上下文里的专属对象,核心作用就是在中间件(Middleware)和后续执行的目标 Function 之间共享临时数据,它的生命周期严格绑定当前请求的处理流程,请求结束后会自动销毁。
使用方式分为两步:
在中间件中写入数据
中间件执行时,直接向context.data添加属性存入需要传递的数据,之后必须调用context.next()让请求继续流转到后续的 Function。示例代码(比如middleware.js):export async function onRequest(context) { // 存入自定义数据 context.data.authStatus = { isAuthenticated: true, userId: "user_456" }; // 传递请求到下一个处理环节 const response = await context.next(); return response; }在目标 Function 中读取数据
后续的 Function 可以直接从context.data中读取中间件存入的数据,无需额外处理。示例代码(比如api/user.js):export async function onRequest(context) { // 读取中间件传递的数据 const authStatus = context.data.authStatus; // 基于传递的数据处理请求 if (authStatus.isAuthenticated) { return new Response(`欢迎用户 ${authStatus.userId}`, { status: 200 }); } else { return new Response("未授权访问", { status: 401 }); } }
注意事项:
context.data是请求隔离的,每个请求的对象都是独立实例,不会出现跨请求的数据污染- 支持存储任意合法的 JavaScript 数据类型,但建议尽量保持数据体积小巧,避免拖慢请求处理速度
- 如果没有中间件写入数据,
context.data默认是一个空对象,读取未定义的属性会返回undefined
内容的提问来源于stack exchange,提问作者Safa Alai
相关产品推荐
相关产品推荐

