Qual è la differenza tra Promise.any e Promise.race?
Frontend
Cosa succede se una delle promesse viene rifiutata nella funzione sumPromises?
* La funzione riceve un array di promesse (si assume che non sia vuoto) e restituisce una promessa. * Se una delle promesse passate si risolve (viene completata con successo), allora la promessa restituita si risolve con quel valore. * Se più promesse vengono completate con successo, allora la promessa restituita si risolve * con il primo valore di successo, indipendentemente dall'ordine delle promesse nell'array. * Se tutte le promesse vengono rifiutate, allora la promessa restituita viene rifiutata con un errore di tipo AggregateError, che raggruppa tutti gli errori, tenendo conto dell'ordine delle promesse. * Si può creare un AggregateError così: new AggregateError(errors, 'No Promise in any was resolved') function any(promises) { // il tuo codice qui }
Qual è la differenza tra Promise.all e Promise.allSettled?
Cosa succede se si passa una lista vuota di funzioni a compose?
Perché gli errori nella funzione any non possono essere aggiunti tramite push, ma devono essere scritti per indice?
Implementa una funzione compose che accetta un numero variabile di funzioni e ne restituisce una nuova. Il risultato di ogni funzione viene passato alla successiva.
Implementa la funzione sumPromises, che prende come argomenti delle promesse e restituisce la somma dei loro risultati. La funzione può accettare qualsiasi numero di argomenti. Puoi usare qualsiasi API di promesse.
Perché potrebbe essere necessario il metodo apply nell'implementazione di runOnce?
Cosa succede se non si passa nessuna promessa alla funzione sumPromises?
Implementare la funzione isMonotonic, che prende un array di numeri e determina se è monotono (crescente o decrescente). Restituisce true se l'array è monotono, altrimenti false. Implementare con una complessità lineare O(n).
Quale opzione sarà più veloce: Promise.all o un ciclo con await ad ogni passo? Perché?
Implementare una funzione wrapper runOnce che accetta una funzione e restituisce una nuova funzione. La nuova funzione può essere chiamata solo una volta, tutte le chiamate successive restituiscono undefined. La funzione avvolta può accettare argomenti e restituire un risultato.
Conosci il pattern pipe? In cosa si differenzia da compose?
A cosa serve il contatore rejectedCount? Perché non guardare semplicemente la lunghezza dell'array errors?