Generator和async|Generator和async await
es6提供的这两玩意,看明白了,用着用着又糊涂了....
下面就几个例子讲一下
示例1
async function a(){
await setTimeout('console.log(1)', 1000)
console.log(2)
}
输出结果
2
1
示例2
async function a(){
await new Promise(resolve=>{
setTimeout(()=>{
console.log(1);
resolve()
}, 1000)
})
console.log(2)
}
输出结果
1
2
总结
之前没仔细看文档,老感觉为啥promise的setTimeout能阻塞执行,而直接setTimeout不行。
- yield命令后面只能是 Thunk 函数或 Promise 对象
- async函数的await命令后面,可以是 Promise 对象和原始类型的值(数值、字符串和布尔值,但这时等同于同步操作)
这么解释一下感觉就清晰多了。
推荐阅读
- 急于表达——往往欲速则不达
- 第三节|第三节 快乐和幸福(12)
- 20170612时间和注意力开销记录
- 2.6|2.6 Photoshop操作步骤的撤消和重做 [Ps教程]
- 对称加密和非对称加密的区别
- 眼光要放高远
- 樱花雨
- 前任
- 2020-04-07vue中Axios的封装和API接口的管理
- 烦恼和幸福