ES6--Async

本篇文章转载自我的个人博客

async对Generator函数的改进:

    Generator执行必须靠执行器(类似co模块),async函数自带执行器  

    返回值为Promise对象,则async函数可以看成封装多个异步操作的Promise对象  

    async表示异步操作,await表示紧跟在后面的表达式需要等待结果  

    co模块约定,yield命令后面只能是Trunk函数或Promise对象,await后面可以是Promise对象或原始数据类型(数值、字符串、布尔值,此时相当于同步)

async函数声明:

//函数声明
async function foo(){}

//函数表达式
const foo = async function(){}

//对象的方法
let obj = { async foo(){} }
obj.foo().then(...)

//Class的方法
class Storage{
	constructor(){
	}
	async foo(){
		await ...;
	}
}

//箭头函数
const foo = async () => {}

async函数内部报错会导致返回promise对象处于reject状态

猜你喜欢

转载自blog.csdn.net/LL18781132750/article/details/81356281