JS 中的 async / await
1、async / await 是什么
可以说是 ES6 中 Generator 函数的语法糖,async 是异步的意思 , await 是等待的意思 ,连起来就是等待一个异步函数,规定 await 只能出现在 async 函数中
2、async / await 的作用
我们先看如果在一个 async 函数中直接用 return 返回值, 看能得到什么
async function testAsync() {
return "hello async" ;
}
const res = testAsync()
console.log(res) // Promise { 'hello async' }
最后返回的是一个 promise 对象,这说明 async 函数返回的是一个 promise 对象, 如果 return 一个直接量 , async 会把这个直接量通过 Promise.resolve() 封装成 Promise 对象然后返回,这就是 async 函数的作用
那我们再来看看 await 的作用
function getSomething() {
return "something";
}
async function testAsync() {
return Promise.resolve("hello async");
}
async function test() {
const v1 = await getSomething();
const v2 = a