Avatar ·

如何在JavaScript的forEach循环中正确使用async/await?

大家好!我开始学习异步JavaScript,遇到了一个让我完全困惑的问题。 我有一个URL数组,想使用`fetch`和`async/await`依次从每个URL加载数据。我写了这样的代码: ```javascript const urls = ['https://api.example.com/data/1', 'https://api.example.com/data/2', 'https://api.example.com/data/3']; async function fetchUrls() { urls.forEach(async (url) => { const response = await fetch(url); const data = await response.json(); console.log('已加载:', data); }); console.log('所有请求已发送!'); } fetchUrls(); ``` 我期望先加载第一个URL的数据,然后是第二个,再是第三个,最后才输出“所有请求已发送!”的消息。但实际上我看到消息立即输出,而数据以随机顺序到达,通常同时到达。 我已经了解到`forEach`不配合`async/await`工作。