La diferencia y el uso de Promise.all y Promise.race
Promise.all puede combinar varias instancias en una nueva instancia, devolver una matriz exitosa cuando tiene éxito y devolver el valor del primer estado de falla rechazada cuando falla
Por ejemplo, cuando se devuelven datos de varios módulos, la página debe mostrarse correctamente; de lo contrario, la página se mostrará después de que se hayan ejecutado P1 y P2 en la matriz
Por ejemplo, se mostrará la página después de P1 y P2 en la matriz. Se muestra después de ejecutar P2. Cargando
Por ejemplo, cuando P1 y P2 en la matriz hayan terminado de ejecutarse, se mostrará la página.
Vale la pena señalar que el orden de devolución de los resultados de la matriz no cambiará. Incluso si P2 regresa más rápido que P1, el orden sigue siendo P1, P2
2.race([p1). , p2, p3]), lo que significa que el resultado obtenido en Promise.race([p1, p2, p3]) es el más rápido. carrera ([p1, p2, p3]), el que sea más rápido devolverá qué resultado, independientemente de si el resultado en sí es exitoso o fallido.
Generalmente se usa para vincularse a un temporizador, como una solicitud. y un temporizador de tres segundos se empaquetan en una instancia de Promise y se agregan a la cola de competencia. Si la solicitud no responde en tres segundos, se le darán al usuario algunas indicaciones o algunas operaciones correspondientes.