• 预备
  • 基础语法
  • 容器类型
  • 函数
  • 面向对象
  • 输入输出
  • 进程控制
  • 线程控制
  • 正则表达式
  • 网络编程
  • 图形界面
  • 常见问题
  • API 帮助手册

  • 设置

1131

6 分钟

#anext

说明:获取异步迭代器的下一数据项(调用对象的 __anext__ 方法)。参考 next 函数。

async def anext(async_iterator): ''' 获取异步迭代器的下一数据项, 没有下一项时产生 StopAsyncIteration 异常 :param async_iterator: 一个异步迭代器 :return: 迭代器的下一项 ''' async def anext(async_iterator, default): ''' 获取异步迭代器的下一数据项,没有下一项时返回 default :param async_iterator: 一个异步迭代器 :param default: 默认值 :return: 迭代器的下一项 '''

示例:

import asyncio # 异步迭代器 class AsyncIterator: def __init__(self, stop): self.__stop = stop self.__current = 0 async def __anext__(self): if self.__current < self.__stop: await asyncio.sleep(0.1) # 模拟异步操作 self.__current += 1 return self.__current - 1 else: raise StopAsyncIteration # 异步函数 async def main(): async_iterator = AsyncIterator(10) while (value := await anext(async_iterator, None)) is not None: print(value) # 启动 asyncio.run(main())

创建于 2025/5/9 23:27:43

更新于 2025/5/11 16:48:17