引言
x-request
是一个轻量级的、Promise基础的、RESTful API便捷的封装的Node.js请求模块,并且具有兼容浏览器的能力。如果你曾经使用过 request
模块,你会发现使用 x-request
告别了一些繁琐的重复配置,同时也让代码更为可读性强。它是一个非常实用的工具,值得推荐。
安装 x-request
在开始使用之前,你需要先在你的项目中安装 x-request
。你可以通过 npm
安装:
npm install x-request
你也可以通过 yarn
进行安装:
yarn add x-request
安装完成之后,我们可以在项目中直接引入模块:
const xRequest = require('x-request')
API文档
x-request
模块基于 Promise
实现的,因此可以非常方便地进行链式操作。这里涵盖了 x-request
的所有常用API, 并且这里包含具体的参数解释以及代码示例。
xRequest(url [, options]) => Promise<any>
xRequest
方法是 x-request
模块的核心方法,是每个请求的基础方法。
PARAMETERS
url
(string): 请求的地址options
(object): 请求的配置如下, 并非必填:method
(string): GET/POST/PUT,etc.headers
(object): 请求头的对象query
(object): 参数对象,如果是GET
请求的话, 参数也会被转成查询字符串。type
(string): 返回数据的格式类型,如'json'
,'text'
等等。timeout
(number): 超时时间,单位毫秒withCredentials
(boolean): 发送跨域请求时,是否携带cookie
RETURN VALUE
Response.body 的值基于 options.type
的不同而不同。如果使用默认值,则返回一个二进制数据流。
REQUEST EXAMPLES
-- -------------------- ---- ------- ----- -------- - -------------------- ------------------------------------------ - ------- ------ ------ - ----- ------- ---- -- -- -------- - -------------- ---- -------------- --------------- ------------------ - -- ----------- -- - ---------------- -- ------------ -- - ------------------ --
xRequest.json(url [, options]) => Promise<any>
该方法同样返回一个 Promise
对象,它的 options
默认加上 type: 'json'
参数。
PARAMETERS
和 xRequest
一样
RETURN VALUE
当 options.type
为 'json'
时,返回一个 JSON 对象。
REQUEST EXAMPLES
-- -------------------- ---- ------- ----- -------- - -------------------- ----------------------------------------------- - ------- ------- -------- - --------------- ------------------ -- ----- ---------------- ----- ------- ---- -- -- -- ----------- -- - ---------------- -- ------------ -- - ------------------ --
xRequest.text(url [, options]) => Promise<any>
该方法同样返回一个 Promise
对象,它的 options
默认加上 type: 'text'
参数。
PARAMETERS
和 xRequest
一样
RETURN VALUE
当 options.type
为 'text'
时,返回一个字符串。
REQUEST EXAMPLES
-- -------------------- ---- ------- ----- -------- - -------------------- ----------------------------------------------- - ------- ------ -------- - -------------- ---- -------------- --------------- ------------------ -- ----- ---------------- ----- ------- ---- -- -- -- ----------- -- - ---------------- -- ------------ -- - ------------------ --
xRequest.formData(url [, options]) => Promise<any>
该方法同样返回一个 Promise
对象,它的 options
默认加上 type: 'text'
, Content-Type: 'multipart/form-data'
参数。
PARAMETERS
url
(string): 请求的地址options
(object): 请求的配置如下, 并非必填:method
(string): GET/POST/PUT,etc.headers
(object): 请求头的对象body
(object): 参数对象,如果是GET
请求的话, 参数也会被转成查询字符串。timeout
(number): 超时时间,单位毫秒withCredentials
(boolean): 发送跨域请求时,是否携带cookie
RETURN VALUE
该方法最终返回一个包含文件信息的 Object
类型的数据。
REQUEST EXAMPLES
-- -------------------- ---- ------- ----- -------- - -------------------- ----- -------- - --- ---------- ----------------------- ----- -------------------------------------------------- - ------- ------- -------- - -------------- ---- ------------- -- ----- -------- -- ----------- -- - ---------------- -- ------------ -- - ------------------ --
参考资料
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6006711b8dd3466f61ffe868