Beste es6 Möglichkeit, mit Promise.all namenbasierte Ergebnisse zu erhalten

Standardmäßig gibt die Funktion Promise.All ([]) ein auf Zahlen basierendes Index-Array zurück, das die Ergebnisse der einzelnen Versprechen enthält.

var promises = [];
promises.push(myFuncAsync1()); //returns 1
promises.push(myFuncAsync1()); //returns 2
Promise.all(promises).then((results)=>{
    //results = [0,1]
}

Was ist die beste Vanille-Methode, um mit Promise.all () einen benannten Ergebnisindex zurückzugeben?

Ich habe es mit einer Map versucht, aber es gibt die folgenden Ergebnisse in einem Array zurück:[key1, value1, key2, value2]

AKTUALISIEREN

Meine Fragen scheinen unklar zu sein, hier ist, warum ich einen geordneten Index nicht mag:

es ist beschissen zu pflegen: Wenn Sie Ihrem Code ein Versprechen hinzufügen, müssen Sie möglicherweise die gesamte Ergebnisfunktion neu schreiben, da sich der Index möglicherweise geändert hat. es ist schrecklich zu lesen: results[42] (kann mit der Antwort von jib unten behoben werden)Nicht wirklich in einem dynamischen Kontext verwendbar:
var promises = [];
if(...)
    promises.push(...);
else{
    [...].forEach(... => { 
        if(...)
            promises.push(...);
        else
            [...].forEach(... => {
                promises.push(...);
            });
    });
}
Promise.all(promises).then((resultsArr)=>{
    /*Here i am basically fucked without clear named results 
        that dont rely on promises' ordering in the array */
});

Antworten auf die Frage(8)

Ihre Antwort auf die Frage