如果我有一个URL数组:
var urls = ['1.txt', '2.txt', '3.txt']; // these text files contain "one", "two", "three", respectively.
我想要构建一个类似这样的对象:
var text = ['one', 'two', 'three'];
我一直在尝试使用fetch
来学习这个,当然它返回的是Promise
。
以下是我尝试过但无法实现的一些方法:
var promises = urls.map(url => fetch(url));
var texts = [];
Promise.all(promises)
.then(results => {
results.forEach(result => result.text()).then(t => texts.push(t))
})
这看起来不对,而且无论如何它都不能工作-我最终没有得到一个数组['one','two','three']。
在这里使用Promise.all
是正确的方法吗?
.forEach(…)
的返回值上调用.then
吗?还是应该在….text()
上调用? - Bergitexts
并观察到它仍为空的? - Bergi