0 عبدالباسط ابراهيم نشر 13 مايو أرسل تقرير نشر 13 مايو ببساطة يعتبر ال Promise هو كائن (Object) يعرض النتيجة النهائية لعملية غير متزامنة (Asynchronous Operation)، سواء كانت هذه النتيجة نجاحاً أو فشلاً . أي تستخدم الـ Promise عندما يكون لديك كود يستغرق وقتاً للتنفيذ، ولا تريد أن يتوقف باقي البرنامج عن العمل حتى ينتهي هذا الكود (Non-blocking). من أشهر حالات الاستخدام جلب البيانات من خوادم خارجية وللتوضيح أكثر يرجى الإطلاع على المقالة التالي اقتباس
0 ياسر مسكين نشر 13 مايو أرسل تقرير نشر 13 مايو وعليكم السلام ورحمة الله تعالى وبركاته، Promise هو كائن في JavaScript يمثل نتيجة عملية غير متزامنة، وله ثلاث حالات وهي pending أي قيد الانتظار، fulfilled أي اكتملت بنجاح، وrejected أي فشلت ونستخدمه عندما تحتاج لتنفيذ عملية تستغرق وقتا كجلب بيانات من API أو قراءة ملف من القرص، دون أن نوقف باقي الكود عن العمل في نفس الوقت وللتعامل مع النتيجة نستخدم .then() عند النجاح و.catch() عند الفشل، أو الطريقة الأحدث والأوضح وهي async/await وهذا مثال بسيط: fetch('https://api.example.com/data') .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.log('حدث خطأ:', error)); أو بطريقة async/await: async function getData() { try { const response = await fetch('https://api.test.com/data'); const data = await response.json(); console.log(data); } catch (error) { console.log('حدث خطأ:', error); } } اقتباس
0 عبد الوهاب بومعراف نشر 13 مايو أرسل تقرير نشر 13 مايو وعليكم السلام ورحمة الله، الفرق بين Promise.all وPromise.allSettled وPromise.race والذي يغفله الكثير هو كالتالي: // all: يفشل كله إذا فشل واحد const [a, b] = await Promise.all([req1(), req2()]); // allSettled: يكمل حتى لو فشل بعضها const results = await Promise.allSettled([req1(), req2()]); results.forEach(r => r.status === 'fulfilled' ? use(r.value) : log(r.reason)); // race: يأخذ أول نتيجة تصل فقط const fastest = await Promise.race([server1(), server2()]); وكذلك نقطة يقع فيها كثيرون وهي unhandled rejection، إذا أنشأت promise ولم تضع لها .catch أو try/catch فال Node.js سيرمي warning وفي بعض الإصدارات سيوقف العملية كليا لذلك دائما تعامل مع حالة الفشل بشكل صريح. اقتباس
0 محمد عاطف25 نشر 21 مايو أرسل تقرير نشر 21 مايو الـ Promise (الوعد) هو كائن (Object) يمثل النتيجة النهائية لعملية غير متزامنة (Asynchronous operation) سواء نجحت هذه العملية أو فشلت. ولتوضيح الفكرة ببساطة تخيل أنك طلبت طعام من مطعم والموظف يعطيك فاتورة برقم طلبك (هذا هو الوعد أو ال Promise). وخلال فترة الانتظار يمكنك الجلوس لتصفح هاتفك أو عمل أى شئ أخر (البرنامج لا يتوقف عن العمل). وعندما يجهز الطعام يتم استدعاء رقمك لتستلم الوجبة (نجاح)، أو يتم إخبارك بأن المكونات نفدت والطلب لم يكتمل (فشل). حالات ال Promise الثلاث : يمر أي Promise بواحدة من هذه الحالات: Pending (قيد الانتظار): الحالة الأولية العملية قيد التنفيذ ولم تكتمل بعد. Fulfilled (مكتمل/ناجح): تمت العملية بنجاح والنتيجة أصبحت جاهزة للاستخدام مثل استلام البيانات. Rejected (مرفوض/فاشل): فشلت العملية لسبب ما مثل انقطاع الإنترنت أو خطأ في النظام أو الكود. ويستخدم الـ Promise كلما أردت تنفيذ أوامر تستغرق وقتاً ولا تريد أن يتجمد أو يتوقف باقي البرنامج بانتظار انتهائها و من أشهر استخداماته: الاتصال بالخوادم (API Requests): مثل جلب بيانات مستخدم أو عرض تغريدات أو إرسال نموذج تسجيل الدخول عبر fetch أو مكتبات مثل axios. التعامل مع الملفات: مثل قراءة أو كتابة ملفات كبيرة . قواعد البيانات: مثل الاستعلام عن بيانات من قاعدة البيانات وحفظها. المهام المجدولة زمنيا: مثل العمليات التي تعتمد على التوقيت مثل setTimeout. اقتباس
السؤال
ماريا ال داؤود
ماهي وظيفة promise ومتى استخدمها
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.