用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中有效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值