Red de conocimiento informático - Problemas con los teléfonos móviles - La diferencia y el uso de Promise.all y Promise.race

La diferencia y el uso de Promise.all y Promise.race

1.Promise.all

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.