6

このページhttp://flask.pocoo.org/docs/patterns/streaming/を読むと、私がやりたいことができるように思えます。出力をjsonに送信する単純なURLルートがありますが、むしろストリーミングしています出力:

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

フラスコと HTML だけを使用して somemethod をブラウザにストリーミングする方法はありますか、それとも 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 に答える