Ich bin wirklich verwirrt von der Tornado-Frame-Arbeit und der "Zukunft" -Objekt. Deshalb möchte ich, indem sie einen HTTP-Aufruf -Code ein Asynchron-Antwort erhalten wird:Wie bekomme ich Inhalt von Tornado zukünftiges Objekt
class TestAsyncHttp(object):
def __init__(self):
self._http_client = httpclient.AsyncHTTPClient()
@gen.coroutine
def get_response(self, params)
response = yield self._request(
method='POST',
endpoint='test'
data=params
)
raise gen.Return(response)
@gen.coroutine
def _request(self, method, endpoint, data):
url = self._make_url(endpoint) #this includes the port..
headers = self._load_headers()
request = httpclient.HTTPRequest(
url,
method=method,
headers=header,
body=json.dump(data)
)
response = yield self._http_client.fetch(request)
raise gen.Return(response)
Die Sache ist, nachdem ich diese fertig sind, wie kann ich es testen?
Ich versuchte, einen Scrip zu schreiben, enthält ...:
import json
with open('test/request.json') as json_file:
request_json = json.loads(json_file.read())
def get_response():
x = TestAsyncHttp()
ret = yield x.get_response(request_json)
body = ret.body
print body['value']
get_response
Aber dann ich 'Python "path-to-the-Skript"' Es gibt nichts ausgegeben. Wenn ich gerade in die "Python" -Umgebung trat, bekam ich "Zukunft" -Objekt nicht getitem ..Wie kann ich den Inhalt aus einer Zukunft bekommen ..?
Danke!