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)
نهاية

المولدات غير المتزامنة

sad
غير_متزامن مولد دالة بيانات_دفق(رابط)
  متغير الاتصال = انتظر طلب_http.دفق(رابط)
  لكل جزء في الاتصال
    أنتج جزء
  نهاية
نهاية

غير_متزامن دالة الرئيسية()
  لكل جزء في بيانات_دفق("https://stream.example.com")
    معالج_البيانات(جزء)
  نهاية
نهاية

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