flask yield流式没有流式返回,解决方案
使用显式刷新输出
关键代码
yield " " * 1024 + "\n\n"
完整代码
from flask import Flask, Response, stream_with_context
import time
app = Flask(__name__)
def generate_data():
""" 模拟数据生成过程 """
for i in range(10):
yield f"data: {i}\n\n"
time.sleep(1)
# 显式刷新输出
yield " " * 1024 + "\n\n"
@app.route('/stream')
def stream():
return Response(stream_with_context(generate_data()), mimetype='text/event-stream')
if __name__ == '__main__':
app.run(debug=True)

浙公网安备 33010602011771号