如何在不使用等待的情况下拆分长协程?

我有一个协程太大了,我想将其拆分以提高可读性。


async def handle_message(self, message):

    message_type = message.get('type')


    if message_type == 'broadcast':

        ...

        for n in self._neighbors:

            await self.send_message(n, message)


    elif message_type == 'graph':

        ...

我想将处理广播消息的部分提取为一个私有方法,如下所示:


async def handle_message(self, message):

    message_type = message.get('type')

    ...


    if message_type = 'broadcast':

        await self._handle_broadcast(message)

    elif message_type = 'graph':

        ...

问题在于这会改变代码的行为,因为该_handle_broadcast部分是协程,并且由于我用调用它,所以它的执行可能会延迟await。


如何确保协程立即运行并且不会延迟?


HUH函数
浏览 137回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python