Comprensión del bucle de eventos en JavaScript

Comprensión del bucle de eventos de JavaScript

JavaScript es de subproceso único, lo que significa que solo puede hacer lo mismo al mismo tiempo mientras se ejecuta el programa. Este diseño causará problemas de bloqueo en ejecución. Si lo último no está terminado, entonces las siguientes cosas solo pueden esperar. Para resolver este tipo de problema, se propone un ciclo de evento de mecanismo en ejecución (bucle de evento).

Bucle de eventos¶

En JavaScript, todas las tareas se pueden dividir en dos tipos:

  • Tareas sincrónicas: Tareas que se ejecutan inmediatamente. Generalmente, las tareas sincrónicas ingresarán directamente al subproceso principal para su ejecución.

  • Tareas asíncronas: tareas ejecutadas de forma asíncrona, como solicitudes de red ajax, funciones de temporización setTimeout, etc.

El diagrama de flujo de tareas síncronas y tareas asíncronas es el siguiente:
inserte la descripción de la imagen aquí
De acuerdo con la imagen de arriba, se puede ver que primero la tarea ingresa a la pila de ejecución y luego distingue entre tareas síncronas y tareas asíncronas. ingresará al subproceso principal para comenzar la ejecución, y la tarea asincrónica ingresará La cola de tareas a la derecha espera, y luego, cuando se ejecutan las tareas en el subproceso principal, vaya a la cola de tareas para leer las tareas correspondientes y empujarlas al hilo principal para la ejecución. La repetición continua de este proceso es el bucle de eventos.

Observaciones: las tareas asincrónicas también se subdividirán en macrotareas y microtareas. Para obtener más información, consulte la descripción de macrotareas y microtareas en este artículo.

Supongo que te gusta

Origin blog.csdn.net/zhengcaocao/article/details/115659083
Recomendado
Clasificación