flask 返回流失内容 stream_with_context

创建日期: 2024-03-13 19:13 | 作者: 风波 | 浏览次数: 15 | 分类: Flask

来源:https://blog.csdn.net/asdq2w3d/article/details/131432889

from flask import  stream_with_context, Response
from time import sleep

progress_bar_ratio = 0.


def get_bar_ratio():
    global progress_bar_ratio
    progress_bar_ratio += 1
    return progress_bar_ratio


@app.route('/api/stream')
def progress():

    @stream_with_context
    def generate():
        # global ratio
        # ratio = get_bar_ratio()  #获取后端进度条数据,最初的时候是0
        for ratio in range(10):

        # while ratio < 10:  #循环获取,直到达到100%
            yield "data:" + str(ratio) + "\n\n"
            print("ratio:", ratio)
            #最好设置睡眠时间,不然后端在处理一帧的过程中前端就访问了好多次
            sleep(1)
    return Response(generate(), mimetype='text/event-stream')
15 浏览
0 评论