Python 类型和 future

标签 python future python-asyncio typing concurrent.futures

我很高兴使用typing Python 3 中的模块。此外,我很高兴使用 asyncio而不是 twistedtornado 和替代品。

我的问题是如何正确定义协程的结果?

我们应该说它只是一个协程吗?示例 1:

async def request() -> asyncio.Future:
    pass

或者我们应该将协程的结果类型定义为返回值类型?示例 2:

async def request() -> int:
    pass

如果是,那么如何使用普通函数,即返回 future ?示例 3:

def request() -> asyncio.Future:
    f = asyncio.Future()
    # Do something with the future
    return f

这是正确的方法吗?那么我们如何判断 future 的预期结果呢?

最佳答案

正如@jonrsharpe 所说,typing.Awaitable非常适合这项任务。

关于Python 类型和 future ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45115883/

相关文章:

python - 如何在另一个线程中设置 qasync 事件循环?

Python多处理,代码继续执行?

scala - future 在程序终止前不运行

python - 如何使用 Python asyncio 限制并发?

python - 是否可以只运行 asyncio 事件循环的一个步骤

jquery - 使用 moment.js 显示 future 日期

python - 二叉搜索树,逻辑和语法错误

python - 如何替换 Pandas 数据框中拼写错误的单词

Apache 错误日志中的 Python 错误

python-3.x - 在 Python 中,如何测试调用 asyncio.ensure_future(...) 的函数?