我有以下情況(所有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