前言
随着前端技术的不断发展,JavaScript 语言已经成为了一个跨平台的语言。从 Node.js 的出现到现在,JavaScript 已经可以在后端也能够发挥作用了。Deno 是一个基于 V8 引擎的基于 TypeScript 和 JavaScript 的新的运行时环境,相较于 Node.js 具有更好的安全性和更强的性能。在 Deno 中,我们可以很方便地使用 HTTP 请求库对外部资源进行访问,本文就来详细解析 Deno 中 HTTP 请求的处理方式。
一、Deno 中的 HTTP 模块简介
Deno 中内置了一个 HTTP 模块,可以直接使用 fetch
方法发起 HTTP 请求。
const res = await fetch('https://api.github.com/users/deno_land'); const body = await res.text(); console.log(body);
fetch 方法返回的是一个 Response
对象,我们可以通过它获取服务器的响应信息。
二、Deno 中的 HTTP 请求、响应处理
1. 发送 GET 请求获取数据
使用 Deno 发送一个 GET 请求非常简单,只需要在 fetch
方法中传入待请求的 URL 即可。
const res = await fetch('https://api.github.com/users/deno_land'); const body = await res.text(); console.log(body);
上面的代码中,fetch
方法请求了 https://api.github.com/users/deno_land
这个 URL,获取了响应数据,并将响应数据转换成文本格式。
2. 发送 POST 请求提交数据
我们可以将Headers
对象与请求设置中的 body
带上一起发送 POST 请求。
-- -------------------- ---- ------- ----- ---- - ---------------- ----- ------- -------- ------- --- ----- --- - ----- ------------------------------ - ------- ------- -------- - --------------- ------------------ -- ---- --- ----------------- ------------
上面代码中,我们通过 fetch
方法发送了一个 POST 请求,并将请求头的 Content-Type
设为 application/json
,提交数据为 JSON 对象格式。
3. 使用 Promise.all 发送多个请求
Promise.all
的用途其实是在于让多个 Promise 都执行完后再执行后续操作,它会将一个 Promise 的列表传入,并返回一个 Promise。
-- -------------------- ---- ------- ----- ---- - - ----------------------------------------- ---------------------------------- --------------------------------------- ----------------------------------------- -- ----- -------- - -------------- -- ------------ ----- --------- - ----- ---------------------- --- ------ --- -- ---------- - ----- ---- - ----- ----------- ------------------ -
4. 在 HTTP 请求中使用 Cookies
使用 fetch
方法创建的一个请求对象,可以通过请求头基于名称键值对的方式添加 Cookies,也可以通过请求对象的 cookie
属性来进行操作。
const res = await fetch('https://api.github.com/users/deno_land', { headers: { Cookie: 'foo=bar; baz=qux' } }); console.log(await res.text());
5. 在 HTTP 请求中使用 Authorization
Authorization 头部信息是客户端向服务器发送请求时携带的身份验证信息,它一般会在 Authorization 头部中携带一个密钥。
const res = await fetch('https://api.github.com/users/deno_land', { headers: { Authorization: 'Bearer your_access_token' } }) console.log(await res.text());
三、总结
本文主要介绍了 Deno 中 HTTP 请求处理的方法和技巧。从简单的 GET 请求到 POST 请求,从单个请求到多个请求,都被详细地讲解了。希望通过本文的介绍,能够让你更好地理解 Deno 中的 HTTP 请求处理方式,进而为你的开发工作提供帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/645afc4b968c7c53b0d5721a