运行 作为协程的 aiohttp 应用程序

Running aiohttp application as a coroutine

我有一个 asyncio 应用程序,我想使用 aiohttp 添加一个简单的 REST API。据我所知,我可以创建一个 aiohttp 应用程序并 运行 它与 aiohttp.web.run_app 在另一个线程上,或者我不得不忘记该应用程序并使用较低级别 aiohttp.web.Server API。有没有一种方法可以使用 aiohttp.web.Application 然后 运行 Web 应用程序作为协程而不是使用 run_app?

只需打开 aiohttp.web:run_app (https://github.com/aio-libs/aiohttp/blob/master/aiohttp/web.py#L413-L467) 的源代码,看看它是如何实现的。

您也可以这样做,但不要调用阻塞 loop.run_forever()