Si j'ai un tableau de urls:Comment puis-je récupérer un tableau d'URL avec Promise.all?
var urls = ['1.txt', '2.txt', '3.txt']; // these text files contain "one", "two", "three", respectively.
Et je veux construire un objet qui ressemble à ceci:
var text = ['one', 'two', 'three'];
J'ai essayé d'apprendre à faire avec fetch
, qui bien sûr renvoie Promise
s.
Certaines choses que j'ai essayé que ne le font pas travail:
var promises = urls.map(url => fetch(url));
var texts = [];
Promise.all(promises)
.then(results => {
results.forEach(result => result.text()).then(t => texts.push(t))
})
Cela ne semble pas juste, et en tout cas, il ne fonctionne pas - je ne finis pas avec un array ['un', 'deux', 'trois'].
Est-ce que la Promise.all
utilise la bonne approche ici?
qui ressemble à une erreur de bracketing. Aviez-vous vraiment l'intention d'appeler '.then' sur la valeur de retour de' .forEach (...) ', ou plutôt sur' ... .text() '? – Bergi
Où regardez-vous/notez 'texts' et observez-le pour être encore vide? – Bergi