私は次のような状況にあります(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)
私の状況がある
handleAppDownloadCompleteコールバックが )のsendMessage()中の任意の時点では、handleAppRestart()が呼び出された場合、sendMessageをの実行を(停止と呼ばれている1)コールのsendMessage) handleAppDownloadComplete()がコールバックされ、sendMessage()が再び呼び出されるのを待ちます。
私はthreading.events()を使用しようとしましたが、これは私にとって非常に周期的です。追加するには、両方のコールバックが第三者図書館によって提供され、私はそれらを変更することはできません。このような状況に対処するためのよりよい方法/設計?
あなたは正しいです。構文を変更しました。実際にはPythonコードです。同時に2つの異なる言語のコーディングの危険性。私はコールバックを追加/編集する方法を見つけることができますが、呼び出されたときに変更することはできません。 sendMessage(メッセージ)は完全に変更できます。 – user1429322
Btw。 AsyncioはPython 3.3のみです – user1429322