在 Python 非异步函数中调用异步函数并获取返回值
在非异步函数中调用异步函数并获得返回值的方法是使用asyncio.run()函数来运行一个新的事件循环,并在该循环中调用async函数。
以下是一个示例代码:
import asyncio
async def my_async_function():
await asyncio.sleep(1)
return 'Hello, async world!'
def my_sync_function():
result = asyncio.run(my_async_function())
return result
print(my_sync_function()) # 输出:Hello, async world!
在这个示例中,my_async_function是一个异步函数,用于模拟一个耗时的异步操作。my_sync_function是一个同步函数,它通过调用asyncio.run()方法来运行my_async_function,并等待其完成。
请注意,在使用asyncio.run()时,它会创建一个新的事件循环并运行异步函数,完成后会自动关闭事件循环。
最后,my_sync_function返回了my_async_function的返回值,并将其打印到控制台上。
原文地址: https://www.cveoy.top/t/topic/o3ky 著作权归作者所有。请勿转载和采集!