Deno 是一个安全的 JavaScript 和 TypeScript 运行时环境,自带一些内置模块可以进行网络请求等操作。在本文中,我们将介绍如何在 Deno 中使用 HTTP 客户端进行网络请求。
HTTP 客户端
在 Deno 中,HTTP 客户端是通过内置模块 std/http
来实现的。这个模块提供了一个 fetch()
函数,可以用来发起 HTTP 请求,语法与浏览器的 fetch()
函数类似。fetch()
函数返回一个 Promise
对象,表示异步请求的结果。
发起 GET 请求
下面的代码演示了如何使用 fetch()
函数发起一个 GET 请求,并打印响应的内容:
const url = "https://jsonplaceholder.typicode.com/todos/1"; const response = await fetch(url); const body = await response.body(); const text = new TextDecoder().decode(body); console.log(text);
在这个例子中,我们使用 fetch()
函数发起一个 GET 请求,URL 为 https://jsonplaceholder.typicode.com/todos/1
。await
关键字可以使 fetch()
函数变为同步调用,方便我们获取异步请求的结果。response.body()
返回一个可读流,我们可以使用 TextDecoder
类将其转换为文本格式。
这个例子使用了 jsonplaceholder
提供的一个免费测试 API,用于获取一个待办事项的详细信息。你可以使用其他 URL 进行测试。
发起 POST 请求
除了 GET 请求,我们还可以使用 fetch()
函数发起相应的 HTTP 请求,包括 POST、PUT、DELETE 等。下面的代码演示了如何使用 fetch()
函数发起一个 POST 请求:
-- -------------------- ---- ------- ----- --- - --------------------------------------------- ----- ---- - - ------ ------ ----- ------ ------- -- -- ----- ------- - - --------------- ------------------- -- ----- -------- - ----- ---------- - ------- ------- -------- ----- --------------------- --- ----- ---- - ----- ---------------- ----- ---- - --- --------------------------- ------------------
在这个例子中,我们使用 fetch()
函数发起一个 POST 请求,URL 为 https://jsonplaceholder.typicode.com/posts
,请求的数据为一个 JSON 对象。我们需要设置请求头 "Content-Type": "application/json"
,表示请求的数据是 JSON 格式的。fetch()
函数还可以接收一个选项对象作为参数,用于设置请求的方法、请求头、请求体等信息。
这个例子使用了 jsonplaceholder
提供的一个免费测试 API,用于创建一篇新的博客文章。你可以使用其他 URL 进行测试。
总结
在 Deno 中使用 HTTP 客户端进行网络请求非常简单,只需要使用内置模块 std/http
的 fetch()
函数即可。使用 fetch()
函数发起 GET、POST 等请求也非常方便,只需要根据具体的需求设置请求的 URL、方法、请求头、请求体等信息。使用 HTTP 客户端可以为 Deno 应用带来更多的功能和灵活性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/648b12ae48841e9894972dab