puppeteer——异步操作、promise、async、await
- 异步操作
- promise
- async与await
内容硬核,个人理解!
前面的代码中,开头都是以async、await开头,并且有看到promise类型的返回值,今天撸顺它,看看到底是怎么个事儿。
异步操作
个人理解——先后的,顺序的执行一系列操作,且每次只执行一个
为什么会这样呢?
主要因为JS脚本是单线程的——这里的单线程并非指只有一个,JS引擎是有多个线程的,但单个JS脚本只能在一个线程上运行。
希望了解更多的小伙伴,推荐去阮一峰老师那里了解更多有关异步操作方面的知识,里面讲的很详细。
promise
promise是异步操作的一种解决方案,比起传统的回调函数与事件更加合理,在ES6将其写入了语言标准并统一了用法。
个人理解——
1、保存一个事件的对象,且事件通常是一个异步操作,比如点击、输入等
2、状态只有进行中、已完成、已失败三种,异步操作嘛,你要么就是在做了,要么就是做完了结果成了还是没成。
PS:这个状态是不受外界影响的,事件是怎么样就怎么样
3、状态变了就不会变回去,点击完了的事件是不会返回没点击过的状态的
要么就是从
进行中→已完成
要么就是从
进行中→已失败
事件本身是一直向前执行的,所谓覆水难收、破镜重圆嘛。
同样希望了解更多深入学习的小伙伴,阮一峰老师的ECMAScript 6 入门讲的非常清楚!
async与await
异步操作终极解决方案——async!
关于这个,我喜欢直接放阮一峰老师书的截图:
清晰明了,如何用,怎么用,用来干什么,一个例子就清清楚楚了,简直强迫症福音!
至于更多的使用方法、注意点等,可以前往阮一峰老师的博客看!→链接
到此为止有关异步操作基本可以理解、使用了
记录学习、爬坑经验
0年经验小白,欢迎大佬指点!
希望可以帮到你!