إليك ترجمة النص البرمجي من الروسية إلى العربية مع الحفاظ على علامات HTML وعدم تغيير الكود: ```html <p>وعد مع مؤقت ومعالجة الأخطاء</p> ```

JavaScript Medium promises

مهمة «إليك ترجمة النص البرمجي من الروسية إلى العربية مع الحفاظ على علامات HTML وعدم تغيير الكود: ```html <p>وعد مع مؤقت ومعالجة الأخطاء</p> ```»

اكتب دالة `processWithTimeout`، التي تأخذ مصفوفة من الأرقام وتعيد وعدًا (Promise). يجب أن يتم حل الوعد (resolve) بمصفوفة يتم فيها ضرب كل عنصر في 2، إذا كانت جميع الأرقام موجبة. إذا كان هناك رقم سالب واحد على الأقل، يجب رفض الوعد (reject) مع رسالة 'Negative number found'. لمحاكاة التزامن غير المتزامن، استخدم `setTimeout` مع تأخير قدره 1000 مللي ثانية. قم أيضًا بتنفيذ دالة غير متزامنة `run`، تستدعي `processWithTimeout` وتطبع النتيجة أو الخطأ في وحدة التحكم.

تنسيق الإدخال

سلسلة تحتوي على مصفوفة من الأرقام، مفصولة بفواصل.

تنسيق الإخراج

إذا تم حل الوعد، يتم عرض السلسلة 'Result: [number1, number2, ...]'. إذا تم رفضه، يتم عرض 'Error: Negative number found'.

أمثلة

مثال 1

الإدخال
-1,2,3
الإخراج
Error: Negative number found

مثال 2

الإدخال
Война и мир Лев Толстой 1869
الإخراج
Error: Negative number found

مثال 3

الإدخال
Мастер и Маргарита Михаил Булгаков 1966
الإخراج
Error: Negative number found
main.js