smileyby / notes

GitHub Issues Blog, powered by GitHub Issues and GitHub Actions
2 stars 0 forks source link

async 函数返回的是什么? #263

Open smileyby opened 1 year ago

smileyby commented 1 year ago

async 函数

async 函数是使用 async 关键字声明的函数

async 函数是 AsyncFunction构造函数的实例,并且其中允许使用 await关键字。

async 和 await 关键字让我们可以用一种更简洁的方式写出基于Promise的异步行为,而无需可以地链式调用Promise

await关键字只在async函数内有效,在async函数体之外使用,会抛出语法错误:SyntaxError

var y = function(){
    await 1+2
}

// VM82:2 Uncaught SyntaxError: await is only valid in async functions and the top level bodies of modules

async/await的目的是为了简化基于promise的API时所需的语法。async/await的行为就好像使用了生成器和promise

如果你希望并行执行更多任务,请使用 await Promise.all([job1(), job2()])