Wie kann ich den Rückruf in einen asynchronen Iterator umwandeln?Python

Python-Programme
Anonymous
 Wie kann ich den Rückruf in einen asynchronen Iterator umwandeln?

Post by Anonymous »

Ich habe einen Rückruf von einer Bibliothek von Drittanbietern. < /p>

Code: Select all

def callback(message):
print(message)
< /code>
Und ich möchte in der Lage sein, so etwas wie: < /p>
zu tun.async for message in SomeIterator():
print(message)
Ich weiß, ich kann es mit Asyncio.Queue wie beim Konvertieren einer Python -Funktion mit einem Rückruf in ein Asyncio erwarten
Das Problem ist, dass ich nicht ordnungsgemäß aufräumen kann, weil es keine "Beenden -Methode für das Async -Iterator für das Async -Iterator gibt. Es gibt also keinen Platz für mich, um Rückrufe zu entfernen. Der Garbage Collector sammelt mein Generatorobjekt nicht, da jemand einen Verweis auf seine Rückrufmethode speichert, sodass ich auch __del __ Methode nicht verwenden kann.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post