我有以下情况(所有3个都是python类中的函数),我必须使用2个回调函数向远程设备发送消息,以提供有关远程设备状态的详细信息。这种情况的设计解决方案是什么?
# callback when a app has completed downloaded on a remote device
def handleAppDownloadComplete():
#something
# callback when an app has restarted on a remote device
def handleAppRestart():
# app restart callback
def sendMessage(message):
// Do things like validation etc
sendMessageToRemoteDevice(message)
我的情况是
1)当handleAppDownloadComplete回调被称为
2)在的sendMessage()中的任何时候,如果handleAppRestart()被调用时,停止SendMessage函数执行(调用的sendMessage) ,等待handleAppDownloadComplete()被回调并再次调用sendMessage()。
我试过使用threading.events(),但是这对我来说似乎很周期。并且补充一点,这两个回调都是由第三方库提供的,我不能改变它们。任何更好的方式/设计来处理这种情况?
你说得对。改变了语法。它实际上是Python代码。在同一时间以两种不同语言编码的危险。我可以找到添加/编辑回调的方法,但在调用回调时无法更改。 sendMessage(消息)可以完全改变。 – user1429322
Btw。 Asyncio仅适用于Python 3.3 – user1429322