Avatar ·

كيفية استخدام async/await بشكل صحيح داخل حلقة forEach في JavaScript؟

مرحباً بالجميع! بدأت في تعلم JavaScript اللاتزامني وواجهت مشكلة حيرتني تماماً. لدي مصفوفة من عناوين URL، وأريد تحميل البيانات من كل منها بشكل متسلسل باستخدام `fetch` و `async/await`. كتبت الكود التالي: ```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/a