我需要将所有结果推送到一个进行异步http调用的数组中,但我需要等到所有调用完成。
async function(){
const arrayWithResults = [];
const urls = ['someurl.com', 'otherurl.com'];
urls.map( url => {
axios.get(url).then( result => {
arrayWithResults.push(result);
}
});
}
在这里使用等待唯一选项吗?我害怕使用它,因为等待每个请求会减慢整个过程。
答案 0 :(得分:1)
await
代之以Promise.all
的返回值:
const arrayWithResults = await Promise.all(
urls.map(url => axios.get(url))
);
Promise.all
返回一个承诺,一旦传递给它的所有承诺得到解决,它就会立即解决。