Python Server отправил события, чтобы быть конечным - PullRequest
0 голосов
/ 16 ноября 2018

Я отправляю события на сервер, используя 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);
  }
}

Я хочу прекратить получать или отправлять события, когда мой скрипт завершит их отправку. Возможно, напечатайте «Завершено» на стороне клиента, когда закончите.

...