用async和await语法糖封装setTimeout

	<script>
        async function  promise1()
        {
            let p1 = await new Promise(resolve => {
                setTimeout(()=>{console.log('p1');resolve();},1000);
            });
            let p2 = await new Promise(resolve => {
                setTimeout(()=>{console.log('p2')},1000);
            });
        }
        promise1();
        console.log('主流程');
    </script>

以上代码执行后首先显示‘主流程’,过一秒后显示p1,再过一秒显示p2
语法说明
1.async 告诉程序这是一个异步操作,await 是一个操作符,即 await 后面是一个表达式。
2.当调用一个 async 函数时,会返回一个 Promise 对象。当这个 async 函数返回一个值时,Promise 的 resolve 方法会负责传递这个值;当 async 函数抛出异常时,Promise 的 reject 方法也会传递这个异常值。async 函数中可能会有 await 表达式,await表达式会使 async 函数暂停执行,直到表达式中的 Promise 解析完成后继续 执行 async中await 后面的代码并返回解决结果。注意, await 关键字仅仅在 async function中有效

发布了236 篇原创文章 · 获赞 10 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/gunsmoke/article/details/104580468
今日推荐