async await promise结合案例之延时显示数据

优美的进行延时处理
举一反三将会有更好的用法

<script>
	//要延时加载的数据
	const bb = [{age:10},{age:11},{age:12}];
	//定义一个async函数返回一个Promise
	async function cc(){
		return new Promise((resolve,reject)=>{
			//使用定时器进行延时发送通知
			setTimeout(()=>{
				resolve();
			},1500)
		})
	}
	//定义
	async function dd(){
		for(const ee of bb){
			//【重点】这里会等待cc函数中的Promise发送了通知才会往下执行
			await cc();
			console.log(ee.age);
		}
	}
	//调用
	dd();
</script>

在这里插入图片描述
主线程中的代码只有调用dd函数,执行dd函数会进入循环,而从第一次循环中开始就要等待cc函数返回一个结果,否则不往下执行。而cc函数中,要等待1500毫秒才会发送一个通知结果。所以每循环一次就要等待1.5秒返回通知结果,就有了后面的延时效果

async关键字:

放置在一个函数前面,函数前面的async意味着这个函数将return一个Promise。
如果return的不是Promise,js会自动把return的值包装为Promise中resolve的值

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胖达不胖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值