async function fun(){
console.log("2");
let a = await 7;
console.log("4");
let b = await new Promise((resolve,reject)=>{
setTimeout(function(){
resolve('setTimeout')
},3000)
})
console.log("5");
let c = await function(){
return 'function'
}()
console.log("6")
console.log(a,b,c)
console.log("8")
}
console.log("1")
fun(); // 3秒后输出: 7 "setTimeout" "function"
console.log("3")
运行结果:
1
2
3
4
出现:undefined的变量,指b
---
停3秒
----
5
6
7 'setTimeout' 'function'
8
由此可见 js(ES6标准)中async与await的运行顺序
先在此mark,改天借本书,多研究研究,详细阐述其原理(单线程,js运行栈,浏览器API,轮询机制,
由 io延迟–> 同步异步需求–>异步的几种实现方式: 回调函数 --回调地狱问题引出–>promise,then —>async+await,js异步的最终解决方案)
最近先把小程序开发完!
本文通过一个示例探讨了JavaScript ES6中的async函数和await关键字的工作原理,揭示了它们如何解决异步编程中的回调地狱问题,并介绍了Promise和async/await的关系。同时,文章还提出了学习异步编程的重要性,特别是对于前端开发者在小程序开发中的应用。
2960

被折叠的 条评论
为什么被折叠?



