async 可以将普通函数封装为异步函数,即Promise的一种语法糖
async function(){
return 3 // 相当于 resolve(3)
throw new Error('4') // 相当于 reject(new Error('4'))
}
await 可以将promise转为sync函数,只有当await后面的promise执行完后才能执行后面的内容,且只在异步函数和顶级模块体中有效
(function(){
const result = async function(){
var content = await new Promise((resolve,reject)=>{
setTimeout(()=>{
resolve(6)
},500)
})
console.log(content)
return content
}();
})()
上述代码 加了await 会在500ms后打印6 ,不加则会直接打印 promise(pending)