Python 为什么';使用stream_模板进行演示工作?

Python 为什么';使用stream_模板进行演示工作?,python,flask,server-sent-events,Python,Flask,Server Sent Events,我正在尝试让SSE(服务器发送事件)演示在flask中工作 @app.route('/sse-demo') def sse(): def delay(): for i, c in enumerate("hello"*10): time.sleep(.5) # an artificial delay yield i, c # with render_template it works! #return ren

我正在尝试让SSE(服务器发送事件)演示在flask中工作

@app.route('/sse-demo')
def sse():
    def delay():
        for i, c in enumerate("hello"*10):
            time.sleep(.5)  # an artificial delay
            yield i, c
    # with render_template it works!
    #return render_template('sse_demo.html', data=g())
    # with stream_template it doesn't work!
    return Response(stream_template('sse_demo.html', data=delay()))
我的sse_demo.html模板如下所示

<!doctype html>
<title>Send javascript with template demo</title>
<script src="/static/js/jquery.min.js"></script>
<style>
  #data {
    text-align: center;
  }
</style>
<div id="data">nothing received yet</div>
{% for i, c in data: %}
<script>
  $("#data").text("{{ i }} {{ c }}")
</script>
{% endfor %}    

发送带有模板演示的javascript
#资料{
文本对齐:居中;
}
还没有收到任何东西
{数据中i,c的百分比:%}
$(“#数据”).text(“{{i}}{{{c}”)
{%endfor%}
它可以与渲染_模板配合使用。我看到/sse演示url将1h打印到49o

但是,使用流_模板,我的页面会等待一段时间并打印49o

为什么?