未调用eventsource.onmessage-flask应用程序

未调用eventsource.onmessage-flask应用程序,flask,eventsource,Flask,Eventsource,我一直在开发一个flask应用程序,并尝试在其中实现SSE。请检查下面的我的代码: index.py @app.route('/stream', methods=['GET']) @cross_origin() def stream(): def listenstream(): print("listening") displaytext = { 'requestdata': 'Sampledata', 'responsedata' : 'Sample

我一直在开发一个flask应用程序,并尝试在其中实现SSE。请检查下面的我的代码:

index.py

@app.route('/stream', methods=['GET'])
@cross_origin()
def stream():
    def listenstream():
        print("listening")
        displaytext =  { 'requestdata':  'Sampledata', 'responsedata' : 'Sample Data'}
        displaytext=json.dumps(displaytext)
        yield 'event: message\n'
        yield 'data : '+displaytext+'\n\n'
        time.sleep(1.5)

    return Response(response=listenstream(),status=200,mimetype="text/plain",content_type='text/event-stream')
     yield "event: {0}\ndata: {1}\n\n".format("listen",displaytext)
custom.js

var eventSource = new EventSource("/stream");

eventSource.onmessage = function (e) {
   console.log("Onmessage"+e)
}


eventSource.onerror = function (e) {
   console.log("Onerror"+JSON.stringify(e))
}

eventSource.onopen = function (e) {
   console.log("Onopen"+JSON.stringify(e))
}
var eventSource = new EventSource("/stream");
eventSource.addEventListener('listen', function(e){ 

//Code here
},false);
此处eventSource.onerror=>{“isTrusted”:true},eventSource.onopen=>{“isTrusted”:true},但未调用eventSource.onmessage。我在js文件中尝试了addEventListener:

var eventSource = new EventSource("/stream");
eventSource.addEventListener('message', (e) => {

console.log("Received update")
})
如果渲染到链接“”,它将提供:

事件:消息

数据:{“requestdata”:“Sampledata”,“responsedata”:“Sampledata”}

但是我需要链接“”上的数据。这是正确的做法吗


帮助将不胜感激:)

以下更新为我解决了问题:

index.py

@app.route('/stream', methods=['GET'])
@cross_origin()
def stream():
    def listenstream():
        print("listening")
        displaytext =  { 'requestdata':  'Sampledata', 'responsedata' : 'Sample Data'}
        displaytext=json.dumps(displaytext)
        yield 'event: message\n'
        yield 'data : '+displaytext+'\n\n'
        time.sleep(1.5)

    return Response(response=listenstream(),status=200,mimetype="text/plain",content_type='text/event-stream')
     yield "event: {0}\ndata: {1}\n\n".format("listen",displaytext)
返回响应(listenstream(),mimetype=“text/event stream”)

custom.js

var eventSource = new EventSource("/stream");

eventSource.onmessage = function (e) {
   console.log("Onmessage"+e)
}


eventSource.onerror = function (e) {
   console.log("Onerror"+JSON.stringify(e))
}

eventSource.onopen = function (e) {
   console.log("Onopen"+JSON.stringify(e))
}
var eventSource = new EventSource("/stream");
eventSource.addEventListener('listen', function(e){ 

//Code here
},false);