什么是axios
原文: https://blog.csdn.net/qq_40837310/article/details/123028044
1.使用格式和jquery的ajax很相似,和最初的相比可以链式调用,1.5版本后的jquery也支持了链式调用,可以很好的处理连续回调的问题。
axios({
            url: '/getUsers',
            method: 'get',
            responseType: 'json', // 默认的
            data: {
                //'a': 1,
                //'b': 2,
            }
        }).then(function (response) {
            console.log(response);
            console.log(response.data);
        }).catch(function (error) {
            console.log(error);
            })
2.axios的过滤器,axios.interceptors.request.use()和axios.interceptors.response.use()
3.promise和axios
3.1 new Promise()返回一个promise对象,该对象共有三种状态:进行中、已完成和失败,回调函数的调用是根据对象的状态来完成的;该对象的原型上拥有then和catch等方法。
3.2 Promise.resolve('foo');//等价于如下 new Promise((resolve)=>{ resolve('foo'); })
3.3 resolve方法的作用是把promise对象的状态从进行中变成已完成,同时可以向resolve方法传入参数,这个参数会在将来被promise对象的then方法获取,而reject方法也是同样的道理,只不过是把promise对象状态变成失败,同时传入的参数会被catch方法获取而已
3.4 esolve和reject方法的作用只不过是根据代码逻辑,把promise对象的状态置为已完成或失败,同时通知promise方法的then方法或catch方法:我们已经修改promise对象的状态,接下来需要你们(then和catch)根据对象的状态决定走哪条路。说白了,resolve、reject就是promise对象和then、catch之间的狗腿子。
3.5延伸至axios:因为axios是基于promise的,因此axios异步请求也返回一个promise对象,所以有axios().then()这样的写法,这说明axios本身已经对异步请求的过程做了封装,若请求成功则传递响应内容给then方法,否则传递给catch方法。
原文:https://blog.csdn.net/tdhszsh/article/details/123423670
4.baseURL、timeout全局配置
axios.defaults.baseURL="http://localhost:3000";也可以在请求过滤器中增加 config.timeout = 5000;
5.async和await
axios本身默认是异步请求,如果需要同步获取数据的话需要使用async和await关键字。
 
                    
                 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号