Async函数是Gengerator的语法糖,它能够使异步操作变得更加方便
<script>
function print(){
setTimeout(()=>{
console.log("计时器");
},10)
console.log("hello");
}
print()
</script>//结果是先打印hello再打印计时器
这里并没有按程序顺序打印出对应结果是因为计时器是一个异步的
使用Async函数后:
<script>
function timeout(ms){
//resolve是一个函数
return new Promise((resolve,reject)=>{
setTimeout(function(){
console.log("计时器");
resolve()
},ms)
//ms后返回成功的信息
})
}
async function asyncprint(ms,value){
await timeout(ms)
console.log(value);
}
asyncprint(100,"hello")
//先打印计时器,再打印hello
</script>
Async函数较多用于网络请求,当网络请求有依赖关系的时候,很多接口要依赖于上一个接口的数据时,Async函数就起到重要作用