python - defer.succeed 的 asyncio 等价物是什么?
问题描述
如标题所述,Twisted 的defer.succeed的 asyncio 等价物是什么?或者,如何从纯 Python 值创建协程对象?
请注意,这与我们如何在需要协程的情况下调用普通函数不同?. 我总是可以做类似以下的事情,但我想知道是否有更好的方法。
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 上,作者不想制作用户可以简单地自己写出来的功能。这可能就是为什么不存在这样的功能的原因。
至于您问题的第二部分,您的解决方案似乎很简单。我为单元测试做了类似的事情。
推荐阅读
- php - 如何过滤mysql日期,时间
- php - 表格无法正确发送
- python - 每年的python字典总和和平均值
- json - Camel Json 到 XML,XML 实体呢?
- r - 如何在列中查找特定值并将其替换为 R 中的另一个值
- python - 熊猫如何根据df中的其他布尔列创建布尔列
- python-3.x - 截断csv文件中的单元格
- javascript - 如果对象中的所有值都为假,那么 JavaScript 中的对象值应为 False
- java - 为什么我的 selenium webdriver 打开“数据”的空白窗口;
- javascript - ReCaptchaNoCaptcha 对 MediaWiki 中的可视化编辑器的支持?