ES6:async函数

一、含义

async函数就是Generator函数与promise结合使用的语法糖

1、一旦遇到await就会先返回,等到触发的异步操作完成,再接着执行函数体内的后面语句

2、返回promise对象,可以使用then方法指定下一步操作

3、await后面是Promise时,才当作异步;后面是原始类型时(数值、字符串、布尔值),当作同步操作

 

二、语法

//异步操作,需要返回promise
function pp(number){
	return new Promise(function(resolve,reject){
		setTimeout(function(){
			resolve(number*10);
		},2000);
	});
}

//定义async函数
async function asFun(){
	var ss = await pp(1);
	console.log("ss",ss);
	var dd = await pp(ss);
	console.log("dd",dd);
	console.log(111111111);
}

//执行async函数
asFun().then(function(){
	console.log(4444444444)
})

 

三、注意

1、await命令后面的Promise对象,运行结果可能是Rejected,所以最好把await放在try...catch里面

方式一:

try{
   await promise()
}catch(err){
   //.....
}

方式二:

await promise().catch(function(err){
   //....
});

 

2、如果希望多了异步请求并发,可以使用Promise.all方法

var results = await Promise.all(promises);

 

 

 

转载于:https://my.oschina.net/lcl6659/blog/1801433

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值