InlineCallbacks verwenden

8

Ich bin neu bei Twisted und ich versuche eine einfache Ressource zu schreiben, die Zeigt eine Liste von Namen aus einer Datenbank an, hier ist ein Teil meines Codes:

%Vor%

Meine Frage ist: Wie kann ich diese Methode ändern, um den InlineCallbacks Dekorator zu verwenden?

    
user2043932 05.02.2013, 16:56
quelle

2 Antworten

11

Eine render_GET -Methode gibt möglicherweise keine Deferred zurück. Es kann nur eine Zeichenfolge oder NOT_DONE_YET zurückgeben. Jede mit inlineCallbacks dekorierte Methode gibt Deferred zurück. Also, dekorieren Sie render_GET nicht mit inlineCallbacks .

Natürlich hält dich nichts davon ab, irgendeine andere gewünschte Funktion in render_GET aufzurufen, einschließlich einer, die ein Deferred zurückgibt. Wirf einfach die Deferred weg, anstatt sie von render_GET zurückzugeben (vergewissere dich natürlich, dass Deferred niemals mit einem Fehler ausgelöst wird, oder wenn du sie wegschmeißt, fehlt dir vielleicht eine Fehlermeldung ...) / p>

Also zum Beispiel:

%Vor%

Ich empfehle zumindest, txyoga und klein wenn Sie mit Twisted eine seriöse Web-Entwicklung betreiben. Selbst wenn Sie sie nicht verwenden möchten, sollten sie Ihnen einige gute Ideen geben, wie Sie Ihren Code strukturieren und verschiedene allgemeine Aufgaben wie diese ausführen können.

    
Jean-Paul Calderone 06.02.2013 17:05
quelle
-2

Bearbeiten: Ich habe kein Beispiel gefunden, wie man twisted.web mit inlineCallbacks kombiniert, aber hier sind zwei Vorschläge. Das erste ist vorzuziehen, aber ich bin mir nicht sicher, ob es funktioniert.

%Vor%     
schlamar 05.02.2013 17:15
quelle

Tags und Links