Async和Await

Async和Await

1、什么是Async和Await

async和await是一种同步的写法,但还是异步的操作,两个内容必须同时写才会生效,不然的话不好使
*async的用法,它作为一个关键字放到函数前面,这样普通的函数就变成了异步函数
*异步async函数调用,跟普通函数的使用方式一样
*异步async函数返回的是一个Promise对象
*async函数配合await关键字使用是异步方法,但是阻塞式的

2、什么是回调地狱

一个异步请求嵌套一个异步请求,一个异步请求依赖于另一个的执行结果,使用回调的方式相互嵌套。它会造成我们代码的可读性非常差,后期不好维护

//回调地狱
setTimeout(function(){
	console.log('111') //111
	setTimeout(function(){
		console.log('222') //222
		setTimeout(function(){
			console.log('333') //333
		},900)
	},600)
},300)

3、解决回调地狱

通过async、await解决

//封装一个返回Promise的异步任务
function fn(str){
	var p=new Promise(function(resolve,reject){
		var flag=true
		setTimeout(function(){
		if(flag){
		resolve(str)
		}else{
		reject('失败')
		}
		})
	})
	return p
}
//封装一个执行上边异步任务的async函数
async function test(){
var res1=await fn('123')
var res2=await fn('456')
var res3=await fn('789')
console.log(res1,res2,res3)
}
//执行函数
test()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值