qingqiu 是一个基于 Promise 的 HTTP 客户端,可以在浏览器和 Node.js 中使用。它的 API 简单易用,支持拦截器、取消请求、自动转换 JSON 数据等功能。
安装
你可以通过 npm 安装 qingqiu:
npm install qingqiu
发送请求
你可以使用 qingqiu 发送 HTTP 请求:
import qingqiu from 'qingqiu'; qingqiu.get('/api/users') .then(response => console.log(response.data)) .catch(error => console.error(error));
qingqiu 通过返回一个 Promise 对象,让你可以处理成功和失败的情况。
你也可以使用快捷方法,比如:
qingqiu.post('/api/users', { name: 'John' }) qingqiu.put('/api/users/1', { name: 'Mary' }) qingqiu.delete('/api/users/1')
这些方法都会返回 Promise 对象,你可以像上面那样处理它们。
请求配置
你可以在请求时传递一个配置对象,来控制请求的行为:
-- -------------------- ---- ------- ------------------------- - ------- - ----- -- --------- -- -- -------- - ---------------- ------- ------ - --
qingqiu 支持以下配置:
params
: 请求参数,可以是一个对象或 URLSearchParams 对象。data
: 请求数据,可以是一个对象、ArrayBuffer、ArrayBufferView 或字符串。timeout
: 请求超时时间,单位为毫秒。headers
: 请求头,可以是一个对象。responseType
: 响应类型,可选值为arraybuffer
、blob
、document
、json
、text
或stream
。onUploadProgress
: 上传进度回调。onDownloadProgress
: 下载进度回调。auth
: 认证信息,包括username
和password
。cancelToken
: 取消令牌,可以用来取消请求。withCredentials
: 是否允许发送跨域 Cookie。
响应处理
当请求成功时,你可以访问响应对象,进一步处理响应数据:
qingqiu.get('/api/users') .then(response => { console.log(response.data) // 响应数据 console.log(response.status) // 响应状态码 console.log(response.statusText) // 响应状态描述 console.log(response.headers) // 响应头 }) .catch(error => console.error(error));
你也可以使用 response.request
访问请求对象:
qingqiu.get('/api/users') .then(response => console.log(response.request))
错误处理
当请求失败时,你可以访问错误对象,处理错误信息:
qingqiu.get('/api/users') .catch(error => { console.error(error.message) // 错误消息 console.error(error.response) // 响应对象 console.error(error.request) // 请求对象 });
响应转换
qingqiu 可以自动将响应数据转换为 JavaScript 对象,也可以指定响应类型:
qingqiu.get('/api/users', { responseType: 'json' }) .then(response => console.log(response.data))
你也可以通过全局配置来指定默认的响应类型:
qingqiu.defaults.responseType = 'json';
拦截器
qingqiu 支持请求拦截器和响应拦截器,可以在请求和响应前做一些处理:
-- -------------------- ---- ------- --------------------------------------- -- - ---------------------- -------- ------ ------- -- ----- -- - -------------------------- ------- ------ ---------------------- --- ------------------------------------------ -- - ----------------------- ---------- ------ --------- -- ----- -- - ------------------------- ------- ------ ---------------------- ---
取消请求
qingqiu 支持取消请求,可以用来优化应用程序的性能:
-- -------------------- ---- ------- ------ - ----------- - ---- ---------- ----- ------ - --------------------- ------------------------- - ------------ ------------ -------------- -- - -- ------------------------- - ------------------------ - ---- - ----------------------------- - --- --------------------------
结语
qingqiu 是一个非常优秀的 HTTP 客户端工具,它的 API 简单易用,功能十分强大。在实际开发中,我们可以根据自己的需要,灵活使用 qingqiu 提供的各种功能和特性,来为自己的项目打造一个高效、稳定和安全的网络请求模块。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600671a330d092702382240b