JS程序为单线程程序
分类
- 同步模式
- 异步模式
同步与异步不是代码的编程方式,而是运行环境提供的API是以同步还是以异步的模式工作的。
同步模式
等待前一个任务结束,才能执行下一个任务。
当某个任务执行时间过长,会产生阻塞。影响程序进程与用户体验。
异步模式
不会等待任务结束才开始执行下一个任务,异步执行的代码在后续中通过回调函数的方式进行执行。
在遇到异步调用时,JS将异步函数交予WebApi执行,WebApi执行完毕后,推入等待队列。
等待调用栈程序执行完毕后,事件循环将消息队列中的任务,推入到调用栈中执行任务。