介绍
bgg-axios
是基于 axios
的封装,用于前端网络请求。它提供了许多便捷的功能,如添加请求拦截器、响应拦截器、设置请求超时时间、设置默认请求头等。在本篇文章中,我们将详细介绍如何使用这个 npm 包。
安装
在开始使用 bgg-axios
前,首先需要安装这个包。在命令行中执行以下命令:
npm install bgg-axios --save
使用方法
1. 创建实例
在使用 bgg-axios
时,首先需要创建一个 axios 实例。具体方式如下:
import axios from 'bgg-axios'; const instance = axios.create({ baseURL: 'https://some-domain.com/api/', timeout: 1000, headers: {'X-Custom-Header': 'foobar'} });
使用 axios.create
方法可以创建一个新的 axios 实例,并可以使用它来发送请求。在这个例子中,我们设置了请求的基本 URL 为 'https://some-domain.com/api/'
,超时时间为 1000
毫秒,请求头包含了一个自定义的头部字段 'X-Custom-Header': 'foobar'
。
2. 发送请求
使用 bgg-axios
发送请求与 axios
的使用方法基本相同,可以参考 axios 文档中的使用方法。下面是一个简单的例子:
instance.get('/user?ID=12345') .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); });
在这个例子中,我们向 /user
路径发送了一个 get 请求,并传递了一个参数 ID=12345
。在请求成功时,调用了 then
回调方法,打印了响应内容。在请求失败时,调用了 catch
回调方法,打印了错误信息。
3. 请求拦截器
我们可以添加请求拦截器来修改请求或添加额外的参数。例如,我们可以在每个请求中自动添加 token 参数。下面是一个简单的示例:
instance.interceptors.request.use(function (config) { config.params['token'] = getToken(); return config; }, function (error) { return Promise.reject(error); });
在这个例子中,我们使用 instance.interceptors.request.use
方法添加了一个请求拦截器,这个拦截器将自动在每个请求中添加一个名为 token
的参数,并使用 getToken
方法获取 token 值。
4. 响应拦截器
我们可以添加响应拦截器来对响应做出修改或处理。例如,我们可以在每个响应中添加一个 status 字段,表示请求是否成功。下面是一个简单的示例:
instance.interceptors.response.use(function (response) { response.status = 200; return response; }, function (error) { return Promise.reject(error); });
在这个例子中,我们使用 instance.interceptors.response.use
方法添加了一个响应拦截器,这个拦截器将在每个响应中添加一个名为 status
的字段,并赋值为 200
。
示例代码
下面是一个完整的使用示例,演示了如何创建实例、发送请求、添加请求拦截器和响应拦截器等操作。
-- -------------------- ---- ------- ------ ----- ---- ------------ -- ---- ----- -------- - -------------- -------- ------------------------------- -------- ----- -------- ------------------- --------- --- -- ------- ------------------------------------------ -------- - -- -------- ----- -- ---------------------- - ----------- ------ ------- -- -------- ------- - ------ ---------------------- --- -- ------- ------------------------------------------- ---------- - -- -------- ------ -- --------------- - ---- ------ --------- -- -------- ------- - ------ ---------------------- --- -- ---- ------------------------------ -------------- ---------- - ---------------------- -- --------------- ------- - ------------------- ---
总结
在本篇文章中,我们介绍了如何使用 bgg-axios
包,包括创建实例、发送请求、添加请求拦截器和响应拦截器等操作。希望这篇文章对前端开发者有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055b3581e8991b448d8d23