异步操作理解
1.什么是异步操作
“异步操作是指每个终端在消息传输中使用独立的时钟源。”(来源度娘官方解释)
2.为什么要用异步操作
大家应该都知道JavaScript作为浏览器的脚本语言是单线程,同步执行命令。这与他的主要用途有关,打个比方:假设JavaScript同时有两个线程,一个线程在DOM节点上添加内容,另一个线程删除了这个节点,这时候浏览器以哪个线程为主呢?
回到问题本身,为什么会有异步操作的出现呢,或者说为什么要用异步操作?
“其实很简单,在一个业务流程中,有时候会有一些耗费时间的分支任务,如果把这些琐碎且不重要的任务用异步来执行,那么就可以减轻当前线程的执行压力。”
3常见的异步操作有哪些
setTimeout(定时器)、setInterval(延时器)、Ajax请求、 promise.then(回调函数可以理解为异步,但不是严格的异步操作) 、事件监听(即监听某个事件,当事件发生时,再执行相应的操作(比如点击、mouseover等))