anext() العنصر التالي غير المتزامن

آخر تحديث: 2026-09-22

anext() العنصر التالي غير المتزامن

anext(async_iterator[, default]) يُرجِع العنصر التالي من مُكرِّر غير متزامن.

التصنيفالدوال المدمجة
النوعدالة مدمجة
إصدار بايثون3.10+

📝 الصياغة

anext(async_iterator[, default])

⚙️ المعاملات

async_iterator مطلوبAn async iterator.
default اختياريValue returned when the async iterator is exhausted and no fallback is given.

القيمة المُعادة:The next item from the async iterator; returns default if exhausted and default is given.

💥 الاستثناءات

▶ مثال

عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:

المخرجات:

1
2
end
المزيد من الحالات قادم قريباً — تابعونا.

❓ أسئلة شائعة

Qما الفرق بين anext(it) و next(it)؟
Anext() متزامن ويُرجِع العنصر التالي مباشرةً؛ بينما anext() تعمل مع المُكرِّرات غير المتزامنة، إذ يُرجِع __anext__() كوروتينًا يجب الانتظار عليه (await anext(it)). التناظر هو iter↔next و aiter↔anext.
Qماذا يحدث عندما ينفد المُكرِّر غير المتزامن؟
Aيُثار StopAsyncIteration عند عدم توفير default؛ وإذا مُرِّر الوسيط الثاني default (مثل anext(it, 0)) فسيُرجع default بدلًا من إثارة خطأ.
Qهل يجب استخدام anext في سياق async؟
Aبشكل أساسي نعم. يُرجِع __anext__() كوروتينًا، لذا عادةً ما تحتاج إلى await داخل دالة async؛ وasync for يستدعيه تلقائيًا. يمكن استدعاء الدالة في أي مكان، لكن يجب الانتظار على النتيجة للحصول على قيمة.
Qكيف أحصل على العناصر بأمان دون استخدام default؟
Aضع await anext(it) داخل try/except StopAsyncIteration؛ أو الأبسط: كرِّر مباشرةً باستخدام async for الذي يتعامل مع النفاد داخليًا.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%