Ich benutze the axios versprechen Bibliothek, aber meine Frage gilt allgemeiner glaube ich. Im Moment schleife ich einige Daten und mache einen einzigen REST-Aufruf pro Iteration.
Wenn jeder Aufruf abgeschlossen ist, muss ich den Rückgabewert zu einem Objekt hinzufügen. Auf einem hohen Niveau, sieht es wie folgt aus:Warten auf alle Versprechen in einer Schleife zum Beenden
var mainObject = {};
myArrayOfData.forEach(function(singleElement){
myUrl = singleElement.webAddress;
axios.get(myUrl)
.then(function(response) {
mainObject[response.identifier] = response.value;
});
});
console.log(convertToStringValue(mainObject));
Was passiert natürlich, wenn ich console.log
nennen die mainObject
hat keine Daten in es noch nicht, da axios noch erreicht werden. Was ist ein guter Weg, um mit dieser Situation umzugehen?
Axios hat eine all
Methode zusammen mit einer Schwester spread
ein, aber sie scheinen von Nutzen zu sein, wenn Sie im Voraus wissen, wie viele Anrufe Sie werden machen, während in meinem Fall ich weiß nicht, wie viele Schleifen Iterationen wird es sein.