我很高兴使用typing Python 3 中的模块。此外,我很高兴使用 asyncio而不是 twisted
、tornado
和替代品。
我的问题是如何正确定义协程的结果?
我们应该说它只是一个协程吗?示例 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/