(ES6)async函数的解析

1.什么是async函数,是用来干什么的?

async函数是为了处理异步操作而诞生的。async,异步地。

2.generator函数的语法糖

//generator函数
const showMeGen=function *() {
    yield console.log("this is generator")
};
//async函数
const showMeAysnc=async function () {
    await console.log("this is async")
};

 其中,generator函数不是自动执行,必须要执行器(co模块)或者手动调用next()方法;而async函数可以自动执行。

语义提升:async语义为异步地,await语义为需要等待的。

自动执行时:co模块规定yield后面必须跟thunk函数或者promise函数,而async的await后面可以跟promise或者原始类型的值。

返回对象:async函数的返回值是promise对象,而generator函数返回对象是一个遍历器对象,即iterator对象。

3.异步执行的一个例子(比对)

//使用async函数
function wait() {
    return "here"
}
async function pleaseWait(value) {
    let one= await wait();
    let two =await one;

你可能感兴趣的:(async函数,hevoon)