繁体   English   中英

如何从同步和异步方法运行 asyncio 方法?

[英]How to run an asyncio method from synchronous and asynchronous methods?

在我的项目中,我有一个装饰器可以在同步方法中调用协程:

def async_test(f):
    def wrapper(*args, **kwargs):
        coro = asyncio.coroutine(f)
        future = coro(*args, **kwargs)
        loop = asyncio.get_event_loop()
        loop.run_until_complete(future)
    return wrapper


 @async_test
    async def test_foo(self):
        # test stuff

我需要这个装饰器直接从我的 IDE 运行测试。

但是现在,我需要从异步方法(在await之后)调用它们并且我有RuntimeError

RuntimeError:此事件循环已在运行

如何用 asyncio 循环解决这个问题?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM