Я отправляю события на сервер, используя yield
в Python. Событие перехватывается на стороне клиента с помощью JavaScript. Но дело в том, что браузер продолжает получать события и повторять их, даже если у меня нет данных.
Сторона сервера:
@app.route('/upload', methods=['GET'])
def auee():
lif = [1,2,3,4,5]
def events():
for i in lif:
yield "data: %s\n\n" % (i)
return Response(events(), content_type='text/event-stream')
Клиентская сторона:
if (!!window.EventSource) {
var source = new EventSource('/upload');
console.log(source)
source.onmessage = function(e) {
console.log(e)
var byte = e.data;
console.log(e.data)
var res = byte.split(/\s/);
var markup = "<tr><td><input type='checkbox' name='record'></td><td>" + res[0] + "</td></tr>";
$("#mytable").append(markup);
}
}
Я хочу прекратить получать или отправлять события, когда мой скрипт завершит их отправку. Возможно, напечатайте «Завершено» на стороне клиента, когда закончите.