npm 包 qingqiu 使用教程

阅读时长 5 分钟读完

qingqiu 是一个基于 Promise 的 HTTP 客户端,可以在浏览器和 Node.js 中使用。它的 API 简单易用,支持拦截器、取消请求、自动转换 JSON 数据等功能。

安装

你可以通过 npm 安装 qingqiu:

发送请求

你可以使用 qingqiu 发送 HTTP 请求:

qingqiu 通过返回一个 Promise 对象,让你可以处理成功和失败的情况。

你也可以使用快捷方法,比如:

这些方法都会返回 Promise 对象,你可以像上面那样处理它们。

请求配置

你可以在请求时传递一个配置对象,来控制请求的行为:

-- -------------------- ---- -------
------------------------- -
  ------- -
    ----- --
    --------- --
  --
  -------- -
    ---------------- ------- ------
  -
--

qingqiu 支持以下配置:

  • params: 请求参数,可以是一个对象或 URLSearchParams 对象。
  • data: 请求数据,可以是一个对象、ArrayBuffer、ArrayBufferView 或字符串。
  • timeout: 请求超时时间,单位为毫秒。
  • headers: 请求头,可以是一个对象。
  • responseType: 响应类型,可选值为 arraybufferblobdocumentjsontextstream
  • onUploadProgress: 上传进度回调。
  • onDownloadProgress: 下载进度回调。
  • auth: 认证信息,包括 usernamepassword
  • cancelToken: 取消令牌,可以用来取消请求。
  • withCredentials: 是否允许发送跨域 Cookie。

响应处理

当请求成功时,你可以访问响应对象,进一步处理响应数据:

你也可以使用 response.request 访问请求对象:

错误处理

当请求失败时,你可以访问错误对象,处理错误信息:

响应转换

qingqiu 可以自动将响应数据转换为 JavaScript 对象,也可以指定响应类型:

你也可以通过全局配置来指定默认的响应类型:

拦截器

qingqiu 支持请求拦截器和响应拦截器,可以在请求和响应前做一些处理:

-- -------------------- ---- -------
--------------------------------------- -- -
  ---------------------- --------
  ------ -------
-- ----- -- -
  -------------------------- -------
  ------ ----------------------
---

------------------------------------------ -- -
  ----------------------- ----------
  ------ ---------
-- ----- -- -
  ------------------------- -------
  ------ ----------------------
---

取消请求

qingqiu 支持取消请求,可以用来优化应用程序的性能:

-- -------------------- ---- -------
------ - ----------- - ---- ----------

----- ------ - ---------------------

------------------------- -
  ------------ ------------
-------------- -- -
  -- ------------------------- -
    ------------------------
  - ---- -
    -----------------------------
  -
---

--------------------------

结语

qingqiu 是一个非常优秀的 HTTP 客户端工具,它的 API 简单易用,功能十分强大。在实际开发中,我们可以根据自己的需要,灵活使用 qingqiu 提供的各种功能和特性,来为自己的项目打造一个高效、稳定和安全的网络请求模块。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600671a330d092702382240b

纠错
反馈