Avatar ·

كيفية الحصول على نتيجة من طلب غير متزامن في JavaScript؟

مرحباً بالجميع! أنا مبتدئ في JavaScript وواجهت مشكلة تحيرني. أحاول الحصول على بيانات من طلب AJAX وإرجاعها من الدالة، لكنني لا أستطيع. إليك الكود الخاص بي: ```javascript function getUserData(userId) { let userData; fetch(`https://api.example.com/users/${userId}`) .then(response => response.json()) .then(data => { userData = data; console.log('داخل then:', userData); // البيانات موجودة }); console.log('بعد fetch:', userData); // undefined return userData; // دائماً undefined } const user = getUserData(123); console.log('النتيجة:', user); // undefined ``` أفهم أن المشكلة تتعلق بعدم التزامن، لكنني لا أستطيع فهم كيفية "إرجاع" البيانات بشكل صحيح. جربت استخدام async/await، لكنني ما زلت أحصل على undefined. من فضلك، اشرح كيفية العمل مع الاستدعاءات غير المتزامنة والحصول على النتيجة. سأكون ممتناً جداً للشرح المفصل.