如何解决defer.succeed 的 asyncio 等价物是什么?
如标题所述,Twisted 的 defer.succeed 的 asyncio 等价物是什么?或者,如何从纯 Python 值创建协程对象?
请注意,这与 How do we call a normal function where a coroutine is expected? 不同。我总是可以做类似以下的事情,但我想知道是否有更好的方法。
value_to_convert_to_coroutine_object = 5
async def foo(bar):
return await asyncio.coroutine(lambda: value_to_convert_to_coroutine_object)()
解决方法
defer.succeed()
没什么特别的,据我所知,没有一个 asyncio 函数可以复制它。
def succeed(result):
f = Future()
f.set_result(result)
f.done()
return f
我记得在 asyncio IRC 上,作者不想制作用户可以简单地自己写出的函数。这可能就是为什么不存在这样的功能。
至于您问题的第二部分,您的解决方案似乎很简单。我为单元测试做过类似的事情。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。