anext() العنصر التالي في المُكرِّر غير المتزامن
آخر تحديث: 2026-09-22
anext() العنصر التالي في المُكرِّر غير المتزامن
anext(awaitable) يُعيد العنصر التالي من awaitable؛ وعند النفاد يرفع StopAsyncIteration.
| التصنيف | الدوال المدمجة |
|---|---|
| النوع | دالة مدمجة |
| إصدار بايثون | 3.10+ |
📝 الصياغة
anext(awaitable[, default])
⚙️ المعاملات
| iterator مطلوب | An async iterator. |
|---|---|
| default اختياري | Value returned on exhaustion, when provided.(القيمة الافتراضية:None) |
القيمة المُعادة:The next item of the async iterator, or default if exhausted.
💥 الاستثناءات
StopAsyncIteration— Raised when exhausted with no default.TypeError— Raised when the argument is not an async iterator.
▶ مثال
عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:
المخرجات:
1
2
🏷️ دوال مدمجة ذات صلة
💡 حالات ذات صلة
المزيد من الحالات قادم قريباً — تابعونا.
❓ أسئلة شائعة
Qما الفرق بين anext() و next()؟
Aanext() النسخة غير المتزامنة من next()، للمكررات غير المتزامنة؛ يجب استدعاؤها كـ await anext(it) وفقط داخل دالة async.
Qماذا يحدث عند نفاد anext(it)؟
Aيُثار StopAsyncIteration؛ تمرير default يُرجع تلك القيمة بدل الاستثناء، بنفس آلية next().
Qهل يمكن تمرير مكرر عادي إلى anext()؟
Aلا — يُثار TypeError؛ تقبل anext() المكررات غير المتزامنة فقط (الكائنات التي تنفذ __anext__).
Qفي أي سيناريو أستخدم anext()؟
Aعند استهلاك مولد غير متزامن أو مكرر غير متزامن يدويًا، مثل await anext(it) للحصول على القيمة التالية — وهو النظير غير المتزامن لـ next() في الكود المتزامن.