axios

基本使用

axios({
    method: ‘get‘,   // get,获取数据;post,提交数据(表单提交以及文件上传);put,更新数据 (提交所有的数据);patch,提交数据 (提交修改的数据);delete,删除数据
    url: ‘‘,
    params: {}
}).then(res => { do something })

并发请求

同时进行多个请求,并统一处理返回值,如果在某些场景中我们需要同时依赖两个接口返回的数据,那么我们可以使用并发请求:

axios.all([  // 这里的参数是一个数组,里面包含了axios请求
  axios.get(‘url1‘), // 请求的先后顺序就是代码中的顺序
  axios.get(‘url2‘)
]).then(
  axios.spread((res1, res2) => { // spread用来分割返回值
    console.log(res1, res2)
  }
).catch(err => {
    console.log(err)
})

请求拦截器

axios.interceptors.request.use(
  config => {}, // 在发送请求前的一些处理逻辑
  err => {} // 在请求错误后的处理
)

响应拦截器

axios.interceptors.response.use(
  res => { return res }, // 请求成功后对响应数据做一定的处理
  err => { return Promis.reject(err)} // 在响应错误后的处理,可以用catch捕捉
)

axios取消http请求

let api = axios.create({})  // 实例化axios
let source = axios.CancelToken.source() // 实例化一个source对象

api.get(‘/data.json‘, { 
    cancelToken: source.token // 请求时携带cancleToken
}).then(callback).catch(err => {
    console.log(err)
})

source.cancel(‘message‘) // 调用source的cancel方法取消http请求,并将message以error的形式返回,然后就取消了http请求,并进入到该请求的catch代码块,进行错误处理。

 设置全局的默认行为

axios.defaults.timeout = 30000;   // 设置超时时间30秒
axios.defaults.validateStatus= status => ((status >= 200 && status < 300) || status == 401);   //设置 200-300 和 401 都返回成功

 

 

axios

原文:https://www.cnblogs.com/xjy20170907/p/12742405.html

上一篇:iTOP-4412开发板android4.4代码下载和编译


下一篇:BIOS、UEFI、MBR、GRT的知识