Skip to main content
On this page

HTTP 请求(fetch)

2026年7月20日停止服务

Deno Deploy Classic 将于 2026年7月20日关闭。我们建议迁移 到新的 Deno Deploy 平台。详情请参阅 迁移指南

Fetch API 允许您在 Deno Deploy Classic 中发起外部 HTTP 请求。它是一个 Web 标准,并且包含以下接口:

  • fetch() - 允许您发起外部 HTTP 请求的方法
  • Request - 表示 fetch() 的请求资源
  • Response - 表示 fetch() 的响应资源
  • Headers - 表示请求和响应的 HTTP 头部。

本页面展示了 fetch() 方法的使用示例。您可以点击上面的其他接口以了解更多信息。

Fetch 还支持从文件 URL 获取静态文件。有关静态文件的更多信息,请参阅 文件系统 API 文档

fetch() Jump to heading

fetch() 方法初始化对提供资源的网络请求,并返回一个在响应可用后解析的 Promise。

function fetch(
  resource: Request | string,
  init?: RequestInit,
): Promise<Response>;

参数 Jump to heading

名称 类型 可选 描述
resource Request
USVString
false 资源可以是请求对象或 URL 字符串。
init RequestInit true init 对象允许您为请求应用可选参数。

fetch() 的返回类型是一个解析为 Response 的 Promise。

示例 Jump to heading

下面这个 Deno Deploy Classic 脚本会针对每个传入请求发起对 GitHub API 的 fetch() 请求, 然后从处理函数返回该响应。

async function handler(req: Request): Promise<Response> {
  const resp = await fetch("https://api.github.com/users/denoland", {
    // 此处的 init 对象包含一个 headers 对象,其中包含指示我们接受的响应类型的头部。
    // 我们没有指定 method 字段,因为默认情况下 fetch 发起的是 GET 请求。
    headers: {
      accept: "application/json",
    },
  });
  return new Response(resp.body, {
    status: resp.status,
    headers: {
      "content-type": "application/json",
    },
  });
}

Deno.serve(handler);

Last updated on

你找到了你需要的东西吗?

编辑此页面
隐私政策