如何在 TypeScript 中将 async/await 与 Array.map 一起使用?
大家好!我是一名 TypeScript 初学者,在使用 async/await 与 `Array.map` 方法时遇到了问题。我正在编写一个函数,需要处理一个 URL 数组,从每个 URL 加载数据,并返回结果数组。
以下是我的 TypeScript 代码:
```typescript
interface Post {
id: number;
title: string;
}
async function fetchPost(id: number): Promise {
const response = await fetch(`https://jsonplaceholder.typicode.com/posts/${id}`);
return response.json();
}
async function fetchAllPosts(ids: number[]): Promise {
return ids.map(async (id) => {
const post = await fetchPost(id);
return post;
});
}
const result = await fetchAllPosts([1, 2, 3]);
console.log(result); // 我会得到什么?
```
当我运行这段代码时,我期望得到一个 `Post` 对象数组,但实际上得到的是一个 Promise 数组 `Promise[]`。我知道 `map` 不会等待异步操作完成,但如何正确解决这个问题呢?