js的异步的问题的再次理解

Posted Modle_Sherlock

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js的异步的问题的再次理解相关的知识,希望对你有一定的参考价值。

*js是实实在在的单线程语言,在一小个时刻,在(js的执行对列)只有一个执行,一个没有完,另一个必须等待,什么都不做,只有抖着腿的等;

*本来语言本身是同步的,之所以是异步执行,是因为在浏览器环境中,调用了浏览器的api,

  一,httpajax,是单线程调用了浏览器的进程,由它来发http请求,之后得到了返回值,就插入了一个队列(异步队列),

            当js的执行对列为空(没有执行函数)的时候,在按照异步队列的顺序,将返回值插入执行对列,然后在执行

  二,setTimeout, 和 eventListener之类的事件监听语句,当被触发的时候啊,被在浏览器的事件处理队列中执行,然后有了返回值之后,

          将返回值插入异步队列,然后啊,当执行对列为空的时候再一一插入

  三,回调函数,这个我感觉就是改变了函数的执行顺序哟!

以上是关于js的异步的问题的再次理解的主要内容,如果未能解决你的问题,请参考以下文章

我对JS异步执行机制的理解

深入理解JS异步编程

JS异步编程,1/3

node.js异步控制流程 回调,事件,promise和async/await

我理解的JavaScript异步编程

理解js的同步操作与异步操作