简介
Deno 是一种基于 V8 引擎的 JavaScript/TypeScript 运行环境,它提供了许多强大的功能,包括内置的 HTTP 模块。
在本文中,我将向您展示如何在 Deno 中使用 HTTP 模块进行网络请求,并说明如何处理响应。这将有助于您了解如何在项目中使用 Deno 发出网络请求。
前置条件
在开始本文之前,您需要确保已安装 Deno。您可以通过在终端中运行以下命令来检查它是否已安装:
deno --version
如果您还没有安装 Deno,您可以通过以下命令在 Linux 或 macOS 上安装它:
curl -fsSL https://deno.land/x/install/install.sh | sh
Windows 用户可以使用以下命令的 PowerShell 作为管理员运行:
iwr https://deno.land/x/install/install.ps1 -useb | iex
然后,您可以验证 Deno 是否已正确安装:
deno --version
使用 Deno 进行 HTTP 请求
Deno 内置了一些模块,其中包含 HTTP。在以下示例中,我们将使用这个模块发出 GET 请求并处理响应。
import { listenAndServe } from "https://deno.land/std/http/server.ts"; listenAndServe(":8080", async (req) => { const res = await fetch("https://jsonplaceholder.typicode.com/posts"); const body = new TextDecoder().decode(await res.body?.getReader().read()); req.respond({ body }); });
在这个示例中,我们首先导入 Deno 内置的 HTTP 模块中的 listenAndServe
函数。这个函数会设置一个本地的 HTTP 服务器,监听端口 8080
。在接收到来自浏览器的 HTTP 请求后,函数会回调传入的异步匿名函数。
这个异步匿名函数接受一个请求对象 req
,其中包含了请求的 URL、HTTP 头和 HTTP 主体等信息。在这个函数中,我们使用 fetch
函数发出一个 GET 请求。这个函数是异步的,返回一个 promise。
当 fetch
函数成功返回响应时,我们将响应主体的内容读取到一个文本字符集变量 body
中。最后,我们通过调用 respond()
函数将请求的响应广播回去。
总结
在本文中,我们学习了如何在 Deno 中使用 HTTP 模块发出 GET 请求。我们了解了在接收到 HTTP 请求时如何设置 HTTP 服务器,并在如何使用 fetch
函数接收和处理 HTTP 响应。这些功能将帮助您在您的 Deno 项目中进行网络请求。
注意,这个示例只是用来演示如何使用 HTTP 模块进行请求。在实际项目中,您还需要考虑异常和错误处理、HTTPS 以及其他一些安全问题。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64ca18d35ad90b6d04198c52