(Axios顺序请求实战)一个Axios请求参数依赖于另一个Axios请求返回值
<script>
function request01() {
let url = "http://jsonplaceholder.typicode.com/albums";
var param = {
}
return new Promise((resolve, reject) => {
axios.get(url, param)
.then(res => {
resolve(1);
})
})
}
function request02(limitNum) {
let url = "https://api.thecatapi.com/v1/images/search";
let param = {
limit: limitNum
}
return new Promise((resolve, reject) => {
axios.get(url, param)
.then(res => {
resolve(res);
})
})
}
function request03() {
let url = "http://jsonplaceholder.typicode.com/posts";
let param = {
}
return new Promise((resolve, reject) => {
axios.get(url, param)
.then(res => {
resolve(res);
})
})
}
async function serialRequests() {
try {
// await修饰的是Promise对象则返回该对象的内容
const res01 = await request01(); // 1
console.log("res01", res01);
// 这里把上一次请求返回的结果作为下一次请求的参数
const res02 = await request02(res01);
console.log("res02", res02);
const res03 = await request03();
console.log("res03", res03);
} catch (error) {
console.log(error);
}
}
serialRequests();
</script>
学而不思则罔,思而不学则殆!