الصفحة الرئيسية
تحميل الكود
تغيير الألوان
تغيير العرض
تغيير حجم العرض
تشغيل الكود
<!DOCTYPE html> <html> <body> <h1>Javascript Catch Promise Errors</h1> <p>Click on the button and wait for 1 second to execute the promise.</p> <button onclick="executePromise()">Execute the promise</button> <p id="demo"></p> <script> // هنا قمنا بتعريف دالة تقوم بإرجاع برومس عندما يتم استدعاءها function fetchData() { return new Promise((resolve, reject) => { // هنا أنشأنا مؤقت لجعل تنفيذ أوامر البرومس يتم بعد مرور ثانية واحدة setTimeout( () => { // هنا قمنا بتعريف متغير قيمته عبارة عن عدد عشوائي بين 1 و 10 const value = Math.floor(Math.random() * 10) + 1; // أكبر أو تساوي 5 فهي قيمة مقبولة value هنا إعتبرنا أنه إذا كانت قيمة المتغير if (value >= 5) { resolve(value); } // أكبر أو تساوي 5 فهي قيمة خاطئة value هنا إعتبرنا أنه إذا لم تكن قيمة المتغير else { reject(value); } }, 1000); }); } // سيتم تنفيذها عند النقر على الزر الموجود في الصفحة executePromise() الدالة function executePromise() { // لتنفيذ البرومس fetchData() هنا قمنا باستدعاء الدالة fetchData() // للحصول على نتيجة تنفيذ البرومس then() هنا قمنا باستدعاء الدالة .then((value) => { // demo يساوي id إذا أرجع لنا قيمة سليمة فسيتم عرضها في العنصر الذي يملك document.querySelector('#demo').innerHTML = 'Value returned = ' + value; document.querySelector('#demo').style.color = 'green'; }) // للحصول على أي خطأ قد يحدث عند تنفيذ البرومس catch() هنا قمنا باستدعاء الدالة .catch((error) => { // demo يساوي id إذا أرجع لنا قيمة تشير لخطأ فسيتم عرضها في العنصر الذي يملك document.querySelector('#demo').innerHTML = 'Error returned = ' + error; document.querySelector('#demo').style.color = 'red'; }); } </script> </body> </html>