zoukankan      html  css  js  c++  java
  • async和await

    参考(博主写的很详细)

    今天在看项目代码的时候看到这样的代码

    async(dispatch) => {
            try {
                let headers = getTokenHeader({});
                const data = (await axios.get(`${baseUrl}n/AllEvents.do${query}`)).data;
                dispatch({
                    type:   ,
                    data: data.data
                });
            } catch (error) {
                dispatch({
                    type:,
                    error: new Error('获取信息失败')
                });
            }
        };

    然后发现自己并不知道async是什么,await是什么,故今天便学习记录一下

    async是异步的意思

    async后面的函数就是异步函数,这意味着该函数不会阻塞后面函数的执行

    使用

    语法;async function

    调用:就像函数一样调用就行了

    <script>
        async function fn()
        {
            return 'hahahah async';
        }
        fn();
        console.log('我是后面一个');
    </script>
    

    async的函数返回的是一个promise对象,获取promise对象,我们可用then

    console.log(fn());

    <script>
        async function fn()
        {
            return 'hahahah async';
        }
    
        fn().then(function(res){
            console.log(res);
            });
        console.log('我是后面一个');
    </script>

     分析

    前面说了async的函数返回的是一个promise对象,当调用该函数时,内部会调用Promise.solve() 方法把它转化成一个promise 对象作为返回,并可以在指定状况下触发指定函数。比如fn()函数内部出错,那么就会调用Promise.reject() 返回一个promise 对象

    async function fn(flag)
        {
            if(flag)
            return 'hahahah is true';
            else
                return 'wuwuwu is false';
        }
    
        fn(true).then(function(res){
            console.log(res);
            });
        fn(false).then(function(res){
            console.log(res);
            });

    await是等待的意思

    就是到await的时候就要暂停一下,后面的代码也要等,直到后面的promise对象执行完毕,然后拿到promise resolve 的值并进行返回,返回值拿到之后,它继续向下执行。

  • 相关阅读:
    内存的分页管理方式解释
    分组统计SQL
    NUMA导致的Oracle性能问题
    SQL Server死锁的解决过程
    PHP创建对象的6种方式
    PHP编程20大效率要点
    php设置随机ip访问
    php使用QueryList轻松采集JavaScript动态渲染页面
    正确理解 PHP 的重载
    PHP 核心特性之匿名函数
  • 原文地址:https://www.cnblogs.com/ellen-mylife/p/11108649.html
Copyright © 2011-2022 走看看