Ich verwende Axios, um eine AJAX-Anfrage an Twitchtvapi zu stellen. Ich habe einer Variablen mit dem Namen provide ein Versprechen gegeben.Erhalten Sie den Wert eines Versprechens?
War es möglich, die Daten innerhalb des Promise-Objekts zu erhalten? Wenn ich die .then-Methode mit dem Promise-Objekt verkette, erhalte ich einen Fehler, der dann keine Funktion ist.
Wenn ich das Beispiel variable anmelden kann ich sehen, dass es drei Versprechen mit den Werten, die ich suche in ein Array zu speichern, ähnlich wie
var example = users.map((item) => axios.get(`https://api.twitch.tv/kraken/streams/${item}?client_id=${client_id}`)
.then(res => {
console.log(res.data.stream);
return res.data.stream;
})
.catch(error => {
console.log(error);
}));
console.log(example); //an array of three Promise objects
console.log(example.then(res => res.data)) //returns error example.then is not a function
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
TLDR; Wie kann ich die Daten von einem Promise-Objekt abrufen? Wenn ich versuche, die .then-Methode zu verketten, bekomme ich einen Fehler, der sagt, dass es keine Funktion ist.
Vielen Dank für jede Hilfe im Voraus.
verwenden Es sieht aus wie Sie anrufen 'then' auf dem Array, dass' map' zurückkehrt, nicht auf ein Versprechen. Sie sollten wahrscheinlich "dann" innerhalb der Mapping-Funktion haben, oder "map" 'dann' über 'example'. – Carcigenicate
Die Variable ist ein Array von 3 Versprechen, wenn ich etwas wie Promise.all() benutze, um all dies zu versprechen. Ich kann die then-Methode verwenden, aber das Ergebnis, das ich bekomme, ist ein anderes Versprechen – RIVERE
'Promise.all (Beispiel) .then (results => console.log (Ergebnisse));' –