上一篇整理了一些关于vuejs的内容,这篇来整理一些axios的内容。
axios请求状态拦截
axios是平时用的比较多的用于http请求的库,平时用的比较多的相信是axios.get()
,axios.post()
,拦截器axios.interceptors.request.use
及axios.interceptors.response.use
。其实axios还可以自定义很多配置(具体可以参考这里:http://www.axios-js.com/zh-cn/docs/#%E8%AF%B7%E6%B1%82%E9%85%8D%E7%BD%AE )。
我这里主要想说的是,axios在自定义配置上,可以自定义拦截的范围。下面是文档中给出的配置项validateStatus
:
1 | { |
通过这项配置,可以让axios判断请求返回的内容根据状态码应该返回resolve还是reject。这个配置可以搭配axios拦截器使用比较好。
axios请求取消
实际开发中会有这样的需求:用户在快速操作中会发出很多请求,但其实有些请求已经不需要了或者因为用户的来回切换出现不必要的重新请求。这种情况下就要考虑能否取消掉已经发出的请求。
在axios中就可以通过方法CancelToken.source
创建cancel token进行请求取消。在vue开发中,你可以先声明一个canceltoken的状态,然后在不需要请求的地方执行source.cancel()
。
演示代码来源:http://www.axios-js.com/zh-cn/docs/#%E5%8F%96%E6%B6%88
1 | const CancelToken = axios.CancelToken; |