شهد نشر 19 أغسطس أرسل تقرير نشر 19 أغسطس عندي سؤال بسيط ليش اضاف رقم (1) في كلمة resolve(1) لكن في الدرس السابق ما اضافها علما بأني حاولت احذف رقم الواحد كتجربه لكن لم يعمل الكود 2 اقتباس
0 Khaled Osama3 نشر 19 أغسطس أرسل تقرير نشر 19 أغسطس فى هذا المثال new Promise((resolve, reject) => { setTimeout(() => resolve(1), 1000); }); الرقم 1 الذي تم تمريره إلى resolve(1) يمثل القيمة التي سيتم تمريرها كـ نتيجة عند نجاح الـ Promise. و ذللك يحدث: عند استدعاء resolve(1), يتم تمرير القيمة 1 كـ "النتيجة" إلى الـ Promise. أي شيء داخل الـ resolve() يمثل النتيجة التي ستعيدها الـ Promise بعد أن يتم الوفاء بها . إذا أزلت 1 فسيظل الكود يعمل ولكن النتيجة ستكون undefined بدلاً من قيمة محددة مثل 1. اما فى الدرس السابق فمن الممكن ان كان التركيز على فهم مبدأ الـ Promises وليس على القيمة التي يتم تمريرها. و لذلك اذا كان هذا سؤال خاص بدرس من دروس الدورة فيرجي إرفاق السؤال أسفل الدرس حيث يوجد صندوق للتعليقات كما هنا حيث يجب وضع السؤال هناك . حيث هنا هو قسم الأسئلة العامة ولا نجيب علي أسئلة الدورات هنا وذلك لمساعدتك بشكل أفضل. اقتباس
0 عبد الوهاب بومعراف نشر 19 أغسطس أرسل تقرير نشر 19 أغسطس أرجو في قادم المرات إن كان سؤالك متعلقا بإحدى دورات الأكاديمية أن تقوم بإدراجه أسفل كلّ درس استصعب عليك فهمه أو لديك استفسار حوله، أين ستجد صندوقا للتعليقات مثل الذي هنا، يمكنك إرفاق مجلدات مشروعك أو لقطات شاشة وإرفاق الاستفسار الذي لديك وسنجيبك بكلّ صدر رحب. بالنسبة لسؤالك، فالرقم 1 الموجود في resolve(1) هو القيمة التي يتم تمريرها عند نجاح الـPromise وهذا الرقم هو الذي يتم إرساله عند استدعاء الدالة resolve بعد مرور الوقت المحدد (في هذه الحالة، بعد 1000 ميلي ثانية أو 1 ثانية). أما إذا قمت بحذف الرقم 1 تماما، فإن الكود قد لا يعمل كما هو متوقع، لأن الدالة resolve ستستدعى بدون أي قيمة وبشكل افتراضي، إذا لم تمرر أي قيمة إلى resolve، سيتم تمرير undefined. لذلك إذا كنت بحاجة إلى إزالة الرقم 1، عليك التأكد من أن الكود الذي يستخدم الـPromise قادر على التعامل مع القيمة undefined. مثلا في هذا المثال، resolve ستستدعى بدون أي قيمة أي بعد 1 ثانية وإذا كانت هناك عملية تعتمد على القيمة التي تمرر من resolve، قد تتعطل هذه العملية إذا لم تكن تتوقع الحصول على undefined: new Promise((resolve, reject) => { setTimeout(() => resolve(), 1000); }) اقتباس
السؤال
شهد
عندي سؤال بسيط
ليش اضاف رقم (1) في كلمة resolve(1)
لكن في الدرس السابق ما اضافها
علما بأني حاولت احذف رقم الواحد كتجربه لكن لم يعمل الكود
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.