介绍
wreck-promise 是一个基于 Promise 封装的 Node.js HTTP 客户端库。它为开发者提供了简单、可靠、高效的 HTTP 请求方式。wreck-promise 是对 hapijs/wreck 库的封装,具有更友好的 API 和更流畅的体验。
安装
你可以使用 npm 命令行工具,在你的项目文件夹中安装 wreck-promise:
npm install wreck-promise
基本用法
使用 wreck-promise 发送 HTTP 请求非常简单和优雅。以下是一个最简单的示例代码:
-- -------------------- ---- ------- ----- ----- - ------------------------- ----- ------- - - ------- ------ ---- --------------------------------------------- -- ---------------------- -------------- -- - ----------------------------------------- -- ------------ -- - --------------------- ---
在这个示例中,我们使用 Wreck.request 对指定的 URI 发送 HTTP GET 请求,并在响应被返回后打印响应的负载(即响应体)。
支持的 HTTP 方法
wreck-promise 支持的 HTTP 方法有:
- GET
- POST
- PUT
- DELETE
- PATCH
- HEAD
- OPTIONS
为了使用这些方法,你需要设置 options.method
属性,例如:
const options = { method: 'post' };
附加选项
你可以使用 options 对象来配置 HTTP 请求的附加选项。以下是一些常用的选项:
自定义请求头
你可以使用 headers
选项来设置 HTTP 请求头:
const options = { headers: { 'Authorization': 'Bearer mytoken', 'Content-Type': 'application/json' } };
带有查询字符串的 URI
你可以在 URI 中包含查询字符串参数:
const options = { uri: 'http://jsonplaceholder.typicode.com/todos', qs: { 'userId': 1, 'completed': false } };
带有请求体的请求
你可以使用 payload
选项来设置请求体:
-- -------------------- ---- ------- ----- ------- - - ------- ------- ---- -------------------------------------------- -------- - --------- -- -------- ---- ------ ------------ ----- - --
超时
你可以使用 timeout
选项来设置超时时间:
const options = { timeout: 5000 // 5 秒超时 };
处理响应
在 HTTP 请求被发送并成功响应后,你将得到一个响应对象。响应对象包含响应头、响应体和其他属性。以下是一些常用的响应对象 API:
response.statusCode
返回 HTTP 响应状态码。
response.headers
返回 HTTP 响应头。
response.payload
返回 HTTP 响应体。
response.bytes
返回接收 HTTP 响应体的字节数。
response.request
返回原始 HTTP 请求对象。
示例代码
以下是一个完整的使用 wreck-promise 发送 HTTP GET 请求并将响应解析成 JSON 的示例代码:
-- -------------------- ---- ------- ----- ----- - ------------------------- ----- ------- - - ------- ------ -------- - --------- ------------------ -- ---- ---------------------------------------------- -- ---------------------- -------------- -- - -- -------------------- --- ---- - ----- --- ----------------- ------ ----- ------------------------- - ------ ----------------- -- ------------- -- - ----- ---- - ------------------------------- ------------------ -- ------------ -- - --------------------- ---
结论
wreck-promise 是一个简单、可靠、高效的 Node.js HTTP 客户端库。使用 wreck-promise,你可以轻而易举地发送 HTTP 请求,并处理响应。希望本文能够帮助你更好地了解和使用 wreck-promise。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600551ce81e8991b448cf323