Js 异步请求按顺序调用解决方案(真实工作场景,axios、Promise、async await)
const axios = require('axios');
// 异步函数,用async声明,自动返回Promise对象
async function fetchData(url) {
try {
const response = await axios.get(url);
return response.data; // 返回请求结果
} catch (error) {
console.error(`Fetch error: ${error}`);
return null; // 请求失败返回null
}
}
// 使用async await进行按顺序调用
async function sequentialFetch() {
const firstResult = await fetchData('https://api.example.com/data1');
console.log(firstResult);
const secondResult = await fetchData('https://api.example.com/data2');
console.log(secondResult);
const thirdResult = await fetchData('https://api.example.com/data3');
console.log(thirdResult);
}
// 执行异步函数
sequentialFetch();
这段代码使用了async/await
来实现异步请求的顺序调用。首先定义了一个异步函数fetchData
,它使用axios
发送GET请求并返回Promise。然后定义了另一个异步函数sequentialFetch
,它按顺序调用fetchData
,并在控制台中打印出每次请求的结果。最后,调用sequentialFetch
函数开始执行。
评论已关闭