0 عبدالباسط ابراهيم نشر منذ 17 ساعة أرسل تقرير نشر منذ 17 ساعة ببساطة يعتبر ال Promise هو كائن (Object) يعرض النتيجة النهائية لعملية غير متزامنة (Asynchronous Operation)، سواء كانت هذه النتيجة نجاحاً أو فشلاً . أي تستخدم الـ Promise عندما يكون لديك كود يستغرق وقتاً للتنفيذ، ولا تريد أن يتوقف باقي البرنامج عن العمل حتى ينتهي هذا الكود (Non-blocking). من أشهر حالات الاستخدام جلب البيانات من خوادم خارجية وللتوضيح أكثر يرجى الإطلاع على المقالة التالي اقتباس
0 ياسر مسكين نشر منذ 16 ساعة أرسل تقرير نشر منذ 16 ساعة وعليكم السلام ورحمة الله تعالى وبركاته، 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 عبد الوهاب بومعراف نشر منذ 16 ساعة أرسل تقرير نشر منذ 16 ساعة وعليكم السلام ورحمة الله، الفرق بين 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 وفي بعض الإصدارات سيوقف العملية كليا لذلك دائما تعامل مع حالة الفشل بشكل صريح. اقتباس
السؤال
ماريا ال داؤود
ماهي وظيفة promise ومتى استخدمها
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.