依赖于js的事件循环机制,js的主线程虽然是单线程运行的,但是底层还是有其他线程的,比如说网络请求线程,事件执行线程等,主线程遇到上述说的异步任务就会放到事件队列中,并由对应的线程去执行,执行完成后会返回给主线程,异步就是这样来的。
你可以理解为,你能看到的地方是单线程运行的,但是底层是有多线程运行的,就可以了,优秀的设计。
https://www.jianshu.com/p/f47...