我正在使用flask实现服务器发送的事件。如果我在函数中使用time.sleep,则sse不返回任何内容,并且请求在浏览器中保持待处理状态。如果我不使用睡眠,那么浏览器中的响应就会过载,因此我需要使用一些延迟。为什么time.sleep阻止请求?还有另外一种方法可以在这里添加时间延迟吗?
def get_message():
time.sleep(1.0)
s="xyz" #some function here for our business logic
return s
@app.route('/stream')
def stream():
def eventStream():
while True:
yield 'data: {}\n\n'.format(get_message())
return Response(eventStream(), mimetype="text/event-stream")