deno.com
本页内容

HTTP 请求 (fetch)

在 Deno Deploy 中,Fetch API 允许您发出出站 HTTP 请求。它是一个 Web 标准,并具有以下接口:

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

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

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

fetch() 跳转到标题

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

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

参数 跳转到标题

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

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

示例 跳转到标题

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

async function handler(req: Request): Promise<Response> {
  const resp = await fetch("https://api.github.com/users/denoland", {
    // The init object here has an headers object containing a
    // header that indicates what type of response we accept.
    // We're not specifying the method field since by default
    // fetch makes a GET request.
    headers: {
      accept: "application/json",
    },
  });
  return new Response(resp.body, {
    status: resp.status,
    headers: {
      "content-type": "application/json",
    },
  });
}

Deno.serve(handler);

您找到所需内容了吗?

隐私政策