我需要进行一堆API调用,并最终像这样合并它们的数据
axios.all([
axios.get('https://api.github.com/users/mapbox'),
axios.get('https://api.github.com/users/phantomjs')
])
.then(responseArr => {
//this will be executed only when all requests are complete
console.log('Date created: ', responseArr[0].data.created_at);
console.log('Date created: ', responseArr[1].data.created_at);
});
但是我也想在另一个API调用中使用一个API中收到的数据。有点像这样
data = axios.get('https://api.github.com/users/mapbox'),
axios.get('https://api.github.com/users/'+data.user);
如何将其用于5个API调用?
答案 0 :(得分:0)
我将为此使用异步等待。
async function fetchData(){
try {
const response = await axios.get("https://api.github.com/users/mapbox");
const res = response.data;
const getUser = await axios.get(`https://api.github.com/users/${res.user}`);
const getWhatever = getUser.data;
......
......
} catch (error) {
console.log(error)
}
}
每当获得结果时,也可以使用嵌套的.then方法,然后使用该方法发出另一个请求。但是我认为异步等待会更好。