1.使用 Async/Await
使用 async/await 可以使异步代码看起来更像同步代码,可以按顺序等待每个异步操作完成。(缺点无法同时发起请求)
2.使用 Promise.all
如果你不需要等待前一个请求完成才开始下一个请求,而只是想按顺序输出结果,那么可以同时开始所有的异步操作,并使用 Promise.all 来处理这些操作完成后的结果
Promise.all([
fetch('url1').then(response => response.json()),
fetch('url2').then(response => response.json()),
// ...其他请求
fetch('url5').then(response => response.json()),
]).then((responses) => {
// responses 数组包含了所有请求按顺序的结果
responses.forEach(response => console.log(response));
});
3.使用 Promise 链
如果你需要逐个请求,并在一个请求完成后开始下一个请求,同时要按顺序输出结果,那么你可以创建一个 Promise 链。(代码不优雅)