كيفية استخدام async/await مع Array.map في TypeScript؟
مرحبًا بالجميع! أنا مطور TypeScript مبتدئ، وقد واجهت مشكلة في استخدام async/await مع طريقة `Array.map`. أكتب دالة يجب أن تعالج مصفوفة من عناوين 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`، لكن بدلاً من ذلك أحصل على مصفوفة من الـ promises `Promise[]`. أفهم أن `map` لا ينتظر اكتمال العمليات غير المتزامنة، لكن كيف يمكنني تصحيح ذلك؟