下面的代码段,延时分段返回数据。由于buffer的存在,可能会几个数据堆积在一起返回。使用X-Accel-Buffering=no,表示不用buffer,才能实现预期的效果。
@app.route('/m/long')
def streamed_response():
def generate():
for i in range(60):
yield str(i)+'\n'
time.sleep(5)
resp = Response(stream_with_context(generate()))
resp.headers['X-Accel-Buffering'] = 'no'
return resp