6

阅读此页面http://flask.pocoo.org/docs/patterns/streaming/似乎我可以做我想做的事,我有一个简单的 url 路由将输出发送到 json 但我宁愿流式传输输出:

@app.route('/')
def aws_api_route_puppet_apply(ip=None):
    output = somemethod(var1,var2,var3)
    return Response(json.dumps(output), mimetype='application/json') 

有没有办法只使用烧瓶和 HTML 将某些方法流式传输到浏览器,还是我需要使用 javascript?

4

1 回答 1

12

就像文档说的那样,只需创建一个生成器并生成您想要返回给客户端的每一行。

如果输出长度为 10 行,则以下内容将向客户端打印 10 行中的每一行(如果它们可用):

@app.route('/')
def aws_api_route_puppet_apply(ip=None):
    def generate():
        for row in somemethod(var1,var2,var3):
            yield row + '\n'
    return Response(generate(),  mimetype='application/json')
于 2012-12-18T22:08:41.780 回答