You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于Cloudflare Functions中context.data字段的用途咨询

Cloudflare Functions 中 context.data 的定义与使用方法

context.data 是 Cloudflare Functions 请求上下文里的专属对象,核心作用就是在中间件(Middleware)和后续执行的目标 Function 之间共享临时数据,它的生命周期严格绑定当前请求的处理流程,请求结束后会自动销毁。

使用方式分为两步:

  1. 在中间件中写入数据
    中间件执行时,直接向 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;
    }
    
  2. 在目标 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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 16:03:10