Skip to content

البرمجة غير المتزامنة (async/await)

الدوال غير المتزامنة تتيح كتابة كود يعمل بشكل متزامن مع المهام الأخرى. تُعرّف باستخدام غير_متزامن قبل دالة.

الأساسيات

sad
غير_متزامن دالة جلب_بيانات(رابط)
  متغير الرد = انتظر طلب_http.احصل(رابط)
  إذا (الرد.الحالة != 200)
    ارمي "فشل الطلب: " + الرد.الحالة
  نهاية
  ارجع انتظر الرد.نص()
نهاية

ملاحظة

غير_متزامن كلمة سياقية — تعمل فقط قبل دالة. خارج هذا السياق يمكن استخدامها كمُعرِّف عادي.

تنفيذ متوازٍ

sad
غير_متزامن دالة جلب_كل_شيء()
  # تشغيل الطلبات بالتوازي
  متغير [بيانات1، بيانات2، بيانات3] = انتظر كل_معاً([
    جلب_بيانات("https://api.example.com/users"),
    جلب_بيانات("https://api.example.com/posts"),
    جلب_بيانات("https://api.example.com/comments"),
  ])

  اطبع_سطر("المستخدمون: " + بيانات1)
  اطبع_سطر("المقالات:   " + بيانات2)
  اطبع_سطر("التعليقات:  " + بيانات3)
نهاية

ملاحظة

ميزات HTTP والشبكات (طلب_http، كل_معاً) قيد التطوير وغير متوفرة حالياً في المفسر. الدوال غير المتزامنة الأساسية تعمل بشكل صحيح.


مُرخَّص بموجب رخصة MIT