Avatar ·

如何在 TypeScript 的 Array.map 中正确使用 async/await

你好!我是 TypeScript 新手,正在尝试理解 Array.map 方法中的异步操作。 我有一个用户 ID 数组,我想通过 API 为每个 ID 获取用户数据(fetchUserData 函数返回 Promise)。我写了这样的代码: ```typescript const userIds: number[] = [1, 2, 3, 4, 5]; async function fetchUserData(id: number): Promise<{ name: string; age: number }> { const response = await fetch(`https://api.example.com/users/${id}`); return response.json(); } // 我的尝试 const users = userIds.map(async (id) => { const userData = await fetchUserData(id); return userData; }); console.log(users); // 输出 Promise 数组,而不是数据! ``` 问题在于 `users` 是一个 `Promise` 对象数组,而不是实际数据。我期望得到一个用户数组。如何正确等待 `map` 中所有异步操作完成,并得到最终的数据数组? 我听说过 `Promise.all`,但不理解。