¿En qué se diferencia Promise.any de Promise.race?
Frontend
* La función recibe un array de promesas (suponemos que no vacío) y devuelve una promesa. * Si alguna de las promesas pasadas se resuelve (se cumple con éxito), entonces la promesa devuelta se resuelve con ese valor. * Si varias promesas se cumplen con éxito, entonces la promesa devuelta se resuelve * con el primer valor exitoso, independientemente del orden de las promesas en el array. * Si todas las promesas pasadas son rechazadas, entonces la promesa devuelta se rechaza con un error AggregateError, que agrupa todos los errores, teniendo en cuenta el orden de las promesas. * Se puede crear un AggregateError de la siguiente manera: new AggregateError(errors, 'No Promise in any was resolved') function any(promises) { // tu código aquí }
¿Qué ocurrirá si una de las promesas es rechazada en la función sumPromises?
¿En qué se diferencia Promise.all de Promise.allSettled?
¿Qué sucederá si no se pasa ninguna promesa a la función sumPromises?
¿Por qué no se pueden agregar errores en la función any mediante push, sino que deben escribirse por índice?
¿Qué sucederá si se pasa una lista vacía de funciones a compose?
Implementar una función compose que acepte una cantidad variable de funciones y devuelva una nueva función. El resultado de cada función se pasa a la siguiente.
Implementar la función sumPromises, que acepta promesas como argumentos y devuelve la suma de sus resultados. La función puede aceptar cualquier cantidad de argumentos. Se pueden usar cualquier API de promesas.
Implementar la función isMonotonic, que toma un array de números y determina si es monótono (ascendente o descendente). Devuelve true si el array es monótono, de lo contrario false. Implementar con una complejidad lineal O(n).
¿Por qué puede ser necesario el método apply en la implementación de runOnce?
Implementar una función envolvente runOnce que acepte una función y devuelva una nueva función. La nueva función solo puede ser llamada una vez, todas las llamadas posteriores devuelven undefined. La función envuelta puede aceptar argumentos y devolver un resultado.
¿Cuál opción será más rápida: usar Promise.all o un ciclo con await en cada paso? ¿Por qué?
¿Conoces el patrón pipe? ¿En qué se diferencia de compose?
¿Para qué sirve el contador rejectedCount? ¿Por qué no simplemente mirar la longitud del array errors?