Skip to content

async-iterator

Cách đơn giản để sử dụng async iterator mà không cần quan tâm về TaskGroup của asyncio.

Test Publish Coverage Package version Downloads

PyPI - Python Version


Tài Liệu: https://async-iterator.lpthong90.dev

Mã Nguồn: https://github.com/lpthong90/async-iterator


Thư viện giúp cho việc sử dụng async iterator mà không cần quan tâm về TaskGroup của asyncio.

Cài Đặt

$ pip install async-iterator
---> 100%
Successfully installed async-iterator

Cách Dùng

import asyncio
import time

from async_iterator import aiter, siter

inputs = [1, 2, 3]


async def afunc(it: int) -> int:
    await asyncio.sleep(2)
    return it + 1


def sfunc(it: int) -> int:
    time.sleep(2)
    return it + 1


async def amain():
    return await aiter(afunc)(inputs)


def smain():
    return siter(sfunc)(inputs)


if __name__ == "__main__":
    format = "%Y-%m-%d %H:%M:%S"

    print(time.strftime(format))
    print("async", asyncio.run(amain()))  # it takes ~2 seconds
    print(time.strftime(format))
    print("sync", smain())  # it takes ~6 seconds
    print(time.strftime(format))

Kết quả

2024-01-06 00:58:54
async [2, 3, 4]
2024-01-06 00:58:56
sync [2, 3, 4]
2024-01-06 00:59:02

License

Dự án được cấp license là MIT license.