* 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
}