js是单线程,即所有任务按顺序进行。任务不止一个时,将会被放置到消息队列中,消息队列按照顺序执行任务。但一个任务执行时间过长时,页面将会失去响应。为了防止这种现象的发生,js采用异步编程。
什么是异步编程:
步编程通常是通过fire and forget方式实现,发射事件后即忘记,做别的事情了,无需立即等待刚才发射的响应结果了。(发射事件的地方称为生产者,而将在另外一个地方响应事件的处理者称为消费)。异步编程是一种事件驱动编程,需要完全改变思路,将“请求响应”的思路转变到“事件驱动”思路上,是一种软件编程思维的转变。
什么是同步编程:
传统的同步编程是一种请求响应模型,调用一个方法,等待其响应