欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ES6---axios执行原理

程序员文章站 2022-03-26 21:22:19
ES6 axios执行原理 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中 http://www.axios-js.com/zh-cn/docs/ 1. axios.get('1111.json') .then(response => { consol ......

es6---axios执行原理

axios 是一个基于 promise 的 http 库,可以用在浏览器和 node.js 中

ES6---axios执行原理

 

 

 


 

1. 

    axios.get('1111.json')
        .then(response => {
            console.log(response.data);

        })
        .catch(error => {
            console.log(error);
        });

 

console:

ES6---axios执行原理

 

2. 

    axios.get('1111.json')
        .then(response => {
            console.log(response.data);

        })
        .catch(error => {
            console.log(error);
        });

    console.log(123);

 

console:

ES6---axios执行原理

3. axios.get相当于new了一个promise,具体如下图:

ES6---axios执行原理

 

4.

    async function tt() {
        await axios.get('1111.json')
            .then(response => {
                console.log(response.data);
            })
            .catch(error => {
                console.log(error);
            });
        console.log(123);
    };
    tt();

 

console:

 

ES6---axios执行原理

 

 

5. 用await 先取出了数据

    async function tt() {
        await axios.get('1111.json')//先取出了数据
            .then(response => {
                console.log(response.data);
            })
            .catch(error => {
                console.log(error);
            });
        document.getelementbyid("aa").innerhtml = '<div>123</div>';
    };
    tt();

 

console:

ES6---axios执行原理

 

 

6. 用await先获取数据,不然就先执行后面的:document.getelementbyid("aa").innerhtml = '<div>' + yy + '</div>';

    var yy = '';
    async function tt() {
        await axios.get('1111.json')//先通过url从服务器获取数据,再显示到页面
            .then(response => {
                yy = response.data.username;
                console.log(response.data);
            })
            .catch(error => {
                console.log(error);
            });
        document.getelementbyid("aa").innerhtml = '<div>' + yy + '</div>';
        //用了await就先获取数据了
    };
    tt();

 

7. 或者把dom操作的放在axios里面也可以 (前提内嵌的不是很复杂,很复杂的放在外面用await比较好)

    var yy = '';
    async function tt() {
        await axios.get('1111.json')//先通过url从服务器获取数据,再显示到页面
            .then(response => {
                yy = response.data.username;
                console.log(response.data);
                document.getelementbyid("aa").innerhtml = '<div>' + yy + '</div>';
            })
            .catch(error => {
                console.log(error);
            });

    };
    tt();